/*
Theme Name: Pro Services Template
Theme URI: http://localhost/psekasmoi-template
Author: Your Name
Author URI: http://localhost/psekasmoi-template
Description: Custom WordPress theme template for service businesses (pest control, plumbers, electricians, etc.)
Version: 1.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 8.0
Text Domain: pro-services-template
*/

/* =========================================
   1. BASE / RESET
   ========================================= */
*,
*::before,
*::after {
  box-sizing: border-box;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

html {
  -webkit-text-size-adjust: 100%;
}

:root{
  --pst-text:#0b1220;
  --pst-muted:#475569;

  --pst-bg:#ffffff;
  --pst-bg-soft:#f7faf7;
  --pst-surface:#ffffff;

  --pst-border:#e2e8f0;
  --pst-border-strong:#cbd5e1;

  /* Premium pest-control accent (muted lime/olive) */
  --pst-accent:#65a30d;          /* lime-olive */
  --pst-accent-rgb:101,163,13;
  --pst-accent-soft:#ecfccb;     /* soft lime */

  --pst-on-dark:#ffffff;
  --pst-on-dark-rgb:255,255,255;
  --pst-ink-rgb:11,18,32;

  --pst-glass-1: rgba(var(--pst-on-dark-rgb), .04);
  --pst-glass-2: rgba(var(--pst-on-dark-rgb), .08);
  --pst-on-dark-border-18: rgba(var(--pst-on-dark-rgb), .18);
  --pst-on-dark-border-25: rgba(var(--pst-on-dark-rgb), .25);
  --pst-on-dark-border-60: rgba(var(--pst-on-dark-rgb), .60);

  /* Olive header (premium/clean) */
  --pst-header-bg:#1f2937;
  --pst-header-shell-bg: linear-gradient(180deg,#111827 0%, #1f2937 100%);
  --pst-on-dark-muted:#d1d5db;

  /* Hero (neutral, slight warm/green tint) */
  --pst-hero-bg:#f2f6f0;
  --pst-hero-media-bg:#e7efe3;
  --pst-hero-divider:#d7e3d1;
  --pst-hero-placeholder-bg1:#f2f6f0;
  --pst-hero-placeholder-bg2:#dfead9;

  /* Trust strip */
  --pst-trust-bg:#111827;
  --pst-trust-icon-bg: var(--pst-accent);

  /* Footer */
  --pst-footer-bg:#111827;

  /* Badge (phone) */
  --pst-badge-bg:#65a30d;
  --pst-badge-color:#0b1220;     /* καλύτερη αντίθεση πάνω σε lime */

  --pst-sep-on-dark: rgba(var(--pst-on-dark-rgb), .18);
  --pst-sep-on-light: rgba(var(--pst-ink-rgb), .10);
  
  --pst-icon-outline: rgba(var(--pst-ink-rgb), .85);
  
     --pst-hero-eyebrow-color: var(--pst-on-dark);
  --pst-hero-title-color: var(--pst-on-dark);
  --pst-hero-subtitle-color: rgba(var(--pst-on-dark-rgb), .92);
  --pst-hero-content-bg: transparent;
  --pst-hero-overlay-veil-color: transparent;

  --pst-hero-eyebrow-desktop-size: 12px;
  --pst-hero-title-desktop-size: 32px;
  --pst-hero-subtitle-desktop-size: 16px;
  
}




body {
  margin: 0;
  font-family: Arial, sans-serif;
  line-height: 1.5;
  color: var(--pst-text);
  background: var(--pst-bg);
  overflow-x: hidden;
}

html, body {
  margin: 0;
  padding: 0;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
}

/* =========================================
   2. LAYOUT HELPERS
   ========================================= */
.container {
  width: min(1320px, 95%);
  margin: 0 auto;
}

.site-main {
  min-height: 60vh;
}

/* Generic page content (inner pages) */
.page-content {
  padding: 40px 0;
}

.inner-page-hero{
  padding: 42px 0 22px;
  background: linear-gradient(180deg, rgba(15,23,42,.03) 0%, rgba(15,23,42,0) 100%);
}

.inner-page-hero__content{
  width:min(100%, 860px);
  margin:0 auto;
  text-align:center;
}

.inner-page-hero__title{
  margin:0;
  font-size:clamp(30px, 4vw, 40px);
  line-height:1.08;
  letter-spacing:-.02em;
  text-wrap:balance;
}

.inner-page-hero__text{
  margin:14px auto 0;
  width:min(100%, 720px);
  color:#475569;
  font-size:17px;
  line-height:1.75;
  text-wrap:pretty;
}

.page-content--inner{
  padding:18px 0 56px;
}

.page-content__inner{
  width:min(100%, 860px);
  margin:0 auto;
}

.page-content__inner > *:first-child{
  margin-top:0;
}

.page-content__inner > *:last-child{
  margin-bottom:0;
}

@media (max-width: 640px){
  .inner-page-hero{
    padding:32px 0 16px;
  }

  .inner-page-hero__text{
    font-size:15.5px;
    line-height:1.68;
  }

  .page-content--inner{
    padding:16px 0 42px;
  }
}

/* =========================================
   3. BUTTONS
   ========================================= */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 18px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 700;
  transition: 0.2s ease;
  border: 1px solid transparent;
  cursor: pointer;
}

.btn--primary {
  background: var(--pst-accent);
  color: var(--pst-on-dark);
}

.btn--primary:hover {
  opacity: 0.92;
}

.btn--ghost {
  background: transparent;
  color: var(--pst-text);
  border-color: var(--pst-border-strong);
}

.btn--ghost:hover {
  background: var(--pst-bg-soft);
}

.btn--light {
  background: var(--pst-surface);
  color: var(--pst-text);
}

.btn--outline-light {
  background: transparent;
  color: var(--pst-on-dark);
 border-color: var(--pst-on-dark-border-60);
}

/* =========================================
   4. HEADER (single compact header)
   ========================================= */
.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: var(--pst-header-bg, #0f172a);
  color: var(--pst-on-dark);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
    transition: background-color .18s ease, box-shadow .18s ease;
}

.header-shell{
  background: var(--pst-header-shell-bg, linear-gradient(180deg, #0b1220 0%, #0f172a 100%));
  border-bottom: 0;
  position: relative;
  transition: box-shadow .18s ease;
}

.header-shell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background: var(--pst-header-scroll-target-bg, transparent);
  opacity:0;
  transition: opacity .18s ease;
  z-index:0;
}

.header-shell::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  pointer-events:none;
  background: linear-gradient(90deg, transparent, var(--pst-sep-on-dark), transparent);
  z-index:2;
}

.header-shell__inner {
  position: relative;
  z-index: 1;
  min-height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 6px 0;
}

.site-header.is-scrolled .header-shell::before{
  opacity:1;
}

.site-header .container {
  max-width: 1440px;
  width: min(1440px, calc(100% - 32px));
}

/* mobile-only top section (phone badge) */
.header-mobile-top {
  display: none;
}

/* LEFT: logo + business name + meta */
.header-brand {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 12px;
}

.brand__logo-link {
  flex: 0 0 96px;
  width: 96px;
  height: 96px;
  display: grid;
  place-items: center;
  text-decoration: none;
}

.brand__logo {
  width: 96px;
  height: 96px;
  border-radius: 12px;
  object-fit: contain;
  display: block;
  background: transparent;
  padding: 0;
  border: 0;
}

.brand__logo-placeholder {
  width: 96px;
  height: 96px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-size: 10px;
  font-weight: 800;
  color: var(--pst-text);
  background: var(--pst-accent-soft);
  border: 2px dashed var(--pst-accent);
}

.brand__stack {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  flex: 1 1 auto;
}

@media (min-width: 641px){
  .site-header--brand-background-enabled .brand__stack{
    box-sizing:border-box;
    padding:8px 10px;
    border-radius:12px;
    background-color:var(--pst-header-brand-bg, transparent);
    flex:0 1 auto;
    max-width:100%;
    transition:background-color .18s ease;
  }

  .site-header--brand-background-hide-on-scroll.is-scrolled .brand__stack{
    background-color:transparent;
  }

  .site-header--logo-background-enabled .brand__logo-link{
    border-radius:12px;
    background-color:var(--pst-header-logo-bg, transparent);
    transition:background-color .18s ease;
  }

  .site-header--logo-background-hide-on-scroll.is-scrolled .brand__logo-link{
    background-color:transparent;
  }
}

.brand__name-link,
.brand__name-link:hover,
.brand__name-link:focus {
  color: var(--pst-header-business-name-color, #fff);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  min-width: 0;
  max-width: 100%;
}

.brand__titles {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

.brand__text {
  font-weight: 800;
  font-size: 18px;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-text-stroke: var(--pst-header-business-name-stroke-width, 0px) var(--pst-header-business-name-stroke-color, transparent);
  paint-order: stroke fill;
}

.brand__subtitle {
  display: none;
  max-width: 100%;
  color: var(--pst-header-business-subtitle-color, var(--pst-header-business-name-color, #fff));
  font-size: 14px;
  line-height: 1.15;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-text-stroke: var(--pst-header-business-subtitle-stroke-width, 0px) var(--pst-header-business-subtitle-stroke-color, transparent);
  paint-order: stroke fill;
}

.brand__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  min-width: 0;
  margin-left: 0;
}

.header-contact-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--pst-on-dark-muted);
  text-decoration: none;
  font-size: 12px;
  line-height: 1.35;
}

.header-contact-item:hover {
  color: inherit;
  opacity: 0.92;
}

.header-contact-item--text {
  color: inherit;
  font-size: 12px;
  line-height: 1.35;
}

.header-contact-item--phone{
  color:var(--pst-header-phone-color, var(--pst-on-dark-muted));
}

.header-contact-item--email{
  color:var(--pst-header-email-color, var(--pst-on-dark-muted));
}

.header-contact-item--instagram{
  color:var(--pst-header-instagram-color, var(--pst-on-dark-muted));
}

.header-contact-item--address{
  color:var(--pst-header-address-color, var(--pst-on-dark-muted));
}

.header-contact-item--phone .pst-meta-icon path,
.header-contact-item--email .pst-meta-icon path,
.header-contact-item--instagram .pst-meta-icon rect,
.header-contact-item--instagram .pst-meta-icon circle,
.header-contact-item--address .pst-meta-icon path{
  stroke:currentColor;
}

.header-contact-item--phone .pst-meta-icon path:first-child,
.header-contact-item--email .pst-meta-icon path:first-child,
.header-contact-item--address .pst-pin-shell,
.header-contact-item--address .pst-pin-center{
  fill:currentColor;
}

.header-contact-item--email .pst-meta-icon path:last-child{
  fill:none;
}

.header-contact-item--instagram .pst-meta-icon circle:last-child{
  fill:currentColor;
  stroke:none;
}

/* Header meta icons */
.header-contact-item__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  flex:0 0 22px;
  line-height:1;
  font-size:0;
  transform: translateY(1px);
}

.header-contact-item__icon .pst-meta-icon{
  width:22px;
  height:22px;
  display:block;
}

.header-contact-item__icon .pst-meta-icon path,
.header-contact-item__icon .pst-meta-icon rect,
.header-contact-item__icon .pst-meta-icon circle{
  stroke:#000;
  stroke-width:0.95;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.header-contact-item--phone .pst-meta-icon path:first-child{
  fill:#ef4444;
}

.header-contact-item--email .pst-meta-icon path:first-child{
  fill:#fff;
}

.header-contact-item--email .pst-meta-icon path:last-child{
  fill:none;
}

.header-contact-item--instagram .pst-meta-icon rect,
.header-contact-item--instagram .pst-meta-icon circle:first-of-type{
  fill:#ef4444;
}

.header-contact-item--instagram .pst-meta-icon circle:first-of-type{
  fill:#fff;
}

.header-contact-item--instagram .pst-meta-icon circle:last-child{
  fill:#111;
  stroke:none;
}

.pst-instagram-icon{
  display:block;
  width:18px;
  height:18px;
  object-fit:contain;
}

.header-contact-item--address .pst-pin-shell{
  fill:#ef4444;
}

.header-contact-item--address .pst-pin-center{
  fill:#111;
}


/* RIGHT: menu + cta + mobile toggle */
.header-right {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex:0 1 auto;
  min-width:0;
}

.main-nav {
  min-width:0;
  --pst-menu-underline-dur: 2s;
}

.main-nav ul {
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  margin:0;
  padding:0;
  justify-content:flex-end;
  align-items:center;
}

.main-nav li {
  margin:0;
}

.main-nav a {
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--pst-header-menu-color, #fff);
  text-decoration:none;
  padding:9px 11px;
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.01em;
  border-radius:999px;
  background:transparent;
  box-shadow:none;
  transform:none;
  transition:color .18s ease;
  -webkit-text-stroke:var(--pst-header-menu-stroke-width, 0px) var(--pst-header-menu-stroke-color, transparent);
  paint-order:stroke fill;
}

.main-nav__label{
  -webkit-text-stroke:inherit;
  paint-order:inherit;
}

.site-header .header-right.is-open .main-nav a,
.site-header .header-right.is-open .main-nav .main-nav__label{
  -webkit-text-stroke:0 transparent !important;
  paint-order:normal;
}

.main-nav a::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:4px;
  height:1.5px;
  border-radius:999px;
  background:currentColor;
  opacity:0;
  transform:scaleX(.68);
  transform-origin:left center;
  transition:
    opacity .18s ease,
    transform var(--pst-menu-underline-dur) cubic-bezier(.22,1,.36,1);
}

.main-nav a:hover,
.main-nav a:focus-visible,
.main-nav .current-menu-item > a,
.main-nav .current_page_item > a,
.main-nav .current-menu-ancestor > a{
  background:transparent;
  box-shadow:none;
  transform:none;
  outline:none;
}

.main-nav a:hover::after,
.main-nav a:focus-visible::after,
.main-nav .current-menu-item > a::after,
.main-nav .current_page_item > a::after,
.main-nav .current-menu-ancestor > a::after{
  opacity:.92;
  transform:scaleX(1);
}

.header-cta {
  color:var(--pst-header-cta-color, var(--pst-on-dark));
  text-decoration:none;
  font-weight:700;
  background:var(--pst-header-cta-bg, var(--pst-accent));
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  white-space:nowrap;
  line-height:1.1;
  flex:0 0 auto;
  box-shadow:0 12px 24px rgba(11,18,32,.18);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    filter .18s ease,
    opacity .18s ease;
}

.header-cta:hover {
  opacity:1;
  transform:translateY(-1px);
  box-shadow:0 16px 30px rgba(11,18,32,.22);
  filter:saturate(1.02);
}

.header-cta:active {
  transform:translateY(0);
}

.header-cta:focus-visible {
  outline:2px solid rgba(255,255,255,.38);
  outline-offset:3px;
}

.nav-toggle {
  display:none;
  color:var(--pst-header-menu-color, #fff);
}

/* Mobile visibility helper classes (default desktop visible) */
.header-contact-item--hide-mobile,
.header-cta--hide-mobile {
  /* no-op on desktop */
}

@media (max-width: 640px) {
  .header-contact-item--hide-mobile,
  .header-cta--hide-mobile {
    display: none !important;
  }
}


/* =========================================
   HEADER DESKTOP/LAPTOP LOCK (~100px total)
   ========================================= */
@media (min-width: 993px) {
  .header-shell__inner {
    min-height: 99px;
    height: 99px;
    padding: 0;
    gap: 18px;
    align-items: center;
  }
  

  .header-brand {
    gap: 14px;
  }

  .brand__logo-link {
  flex: 0 0 96px;
  width: 96px;
  height: 96px;
}

.brand__logo {
  width: 96px;
  height: 96px;
  border-radius: 12px;
}

.brand__logo-placeholder {
  width: 96px;
  height: 96px;
}

  .brand__stack {
    gap: 5px;
    min-height: 64px;
  }

  .brand__subtitle {
    display: block;
  }

  .brand__text {
    font-size: 26px;
    line-height: 1.1;
  }

  .brand__meta {
    gap: 6px 14px;
  }

  .header-contact-item,
  .header-contact-item--text {
    font-size: 15px;
    line-height: 1.2;
  }


  .header-contact-item--address span:last-child {
    max-width: 210px;
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
  }


.header-cta {
  font-size:14px;
  padding:10px 14px;
}

  .home-above-fold {
    min-height: calc(100dvh - var(--pst-header-h, 100px)) !important;
	
  }
  
 .main-nav a {
  font-size:14px;
  padding:10px 10px;
}

.main-nav ul{
  gap:2px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
  
}

/* =========================================
   4B. NAVIGATION PAGES
   ========================================= */
.nav-page-shell{
  --pst-nav-page-bg:#f8fafc;
  --pst-nav-page-hero-bg:transparent;
  --pst-nav-page-hero-panel-bg:#ffffff;
  --pst-nav-page-hero-panel-border:#e2e8f0;
  --pst-nav-page-title:#0f172a;
  --pst-nav-page-intro:#475569;
  --pst-nav-page-content-panel-bg:#ffffff;
  --pst-nav-page-content-panel-border:#e2e8f0;
  --pst-nav-page-content-text:#334155;
  --pst-nav-page-cta-bg:var(--pst-accent);
  --pst-nav-page-cta-text:#ffffff;
  --pst-nav-page-cta-border:var(--pst-nav-page-cta-bg);
  --pst-nav-page-faq-active-color:var(--pst-nav-page-cta-bg);
  --pst-nav-page-faq-answer-color:var(--pst-nav-page-content-text);
  background:
    radial-gradient(1200px 480px at 50% -10%, rgba(101,163,13,.07) 0%, rgba(101,163,13,0) 62%),
    linear-gradient(180deg, #f8faf8 0%, #f5f7f4 100%);
}

.nav-page-hero{
  padding:46px 0 24px;
  background:var(--pst-nav-page-hero-bg);
}

.nav-page-hero__panel{
  position:relative;
  width:min(100%, 1080px);
  margin:0 auto;
  text-align:center;
  background:var(--pst-nav-page-hero-panel-bg);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--pst-nav-page-hero-panel-bg) 92%, #ffffff 8%) 0%, var(--pst-nav-page-hero-panel-bg) 100%);
  border:1px solid var(--pst-nav-page-hero-panel-border);
  border-radius:8px;
  padding:44px 44px 46px;
  box-shadow:
    0 24px 54px rgba(15,23,42,.10),
    0 8px 18px rgba(15,23,42,.045),
    0 1px 0 rgba(255,255,255,.86) inset;
  overflow:hidden;
}

.nav-page-hero__panel::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  left:0;
  height:1px;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.88) 50%, transparent 100%);
  pointer-events:none;
}

.nav-page-hero__title{
  width:min(100%, 880px);
  margin:0 auto;
  color:var(--pst-nav-page-title);
  font-size:44px;
  line-height:1.1;
  letter-spacing:0;
  font-weight:850;
  text-wrap:balance;
  overflow-wrap:anywhere;
}

/* Navigation page hero intro width */
.nav-page-hero__intro{
  width:min(100%, 960px);
  margin:18px auto 0;
  color:var(--pst-nav-page-intro);
  font-size:18px;
  line-height:1.76;
  text-wrap:pretty;
  overflow-wrap:anywhere;
}

.nav-page-hero__actions{
  margin-top:26px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.nav-page-hero__cta{
  min-width:220px;
  min-height:48px;
  padding:13px 22px;
  background:var(--pst-nav-page-cta-bg);
  color:var(--pst-nav-page-cta-text);
  border:1px solid var(--pst-nav-page-cta-border);
  border-radius:8px;
  box-shadow:0 12px 24px rgba(15,23,42,.14);
  line-height:1.25;
  text-align:center;
  overflow-wrap:anywhere;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, background-color .18s ease, border-color .18s ease;
}

@media (hover:hover) and (pointer:fine){
  .nav-page-hero__cta:hover{
    color:var(--pst-nav-page-cta-text);
    transform:translateY(-1px);
    filter:brightness(1.03);
    box-shadow:0 16px 30px rgba(15,23,42,.18);
  }
}

.nav-page-hero__cta:focus-visible{
  outline:3px solid color-mix(in srgb, var(--pst-nav-page-cta-bg) 28%, transparent);
  outline-offset:3px;
}

.nav-page-hero__cta:active{
  transform:translateY(0);
  box-shadow:0 8px 18px rgba(15,23,42,.14);
}

.nav-page-content{
  padding:4px 0 64px;
}

.nav-page-content__panel{
  width:min(100%, 980px);
  margin:0 auto;
  background:var(--pst-nav-page-content-panel-bg);
  border:1px solid rgba(203,213,225,.82);
  border-radius:26px;
  padding:32px 30px 34px;
  box-shadow:
    0 18px 42px rgba(15,23,42,.05),
    0 1px 0 rgba(255,255,255,.78) inset;
}

.nav-page-content__text{
  color:var(--pst-nav-page-content-text);
  font-size:17px;
  line-height:1.9;
}

.nav-page-contact-flow{
  padding:8px 0 64px;
}

.nav-page-contact-stack{
  width:min(100%, 1120px);
  margin:0 auto;
  display:grid;
  gap:28px;
}

.nav-page-contact-block--form{
  display:grid;
  gap:18px;
}

.nav-page-contact-intro-panel{
  width:min(100%, 960px);
  margin:0 auto;
}

.nav-page-content__panel--contact-intro{
  background:linear-gradient(180deg, rgba(255,255,255,.88) 0%, rgba(248,250,248,.98) 100%);
}

.nav-page-content__text--contact-lead{
  width:min(100%, 860px);
  margin:0 auto;
  text-align:center;
  color:var(--pst-nav-page-content-text, #334155);
  font-size:17px;
  line-height:1.95;
  text-wrap:pretty;
}

.nav-page-contact-block__title{
  margin:0 0 14px;
  color:var(--pst-nav-page-title);
  font-size:clamp(26px, 3vw, 34px);
  line-height:1.12;
  text-align:center;
  letter-spacing:-.02em;
}

.nav-page-contact-block__subtitle{
  width:min(100%, 760px);
  margin:0 auto 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:var(--pst-nav-page-intro, #475569);
  font-size:15px;
  line-height:1.6;
  text-align:center;
}

.nav-page-contact-block__subtitle-icon{
  width:18px;
  height:18px;
  flex:0 0 auto;
  color:#ef4444;
}

.nav-page-contact-block__subtitle-icon svg{
  display:block;
  width:100%;
  height:100%;
}

.nav-page-content__text--contact-details{
  width:min(100%, 760px);
  margin:0 auto;
  text-align:center;
  line-height:1.82;
}

.nav-page-contact-block--map .nav-page-content__panel{
  width:min(100%, 1040px);
}

.nav-page-contact-map{
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(203,213,225,.82);
  background:#dfe6ee;
  box-shadow:0 20px 40px rgba(15,23,42,.10);
  aspect-ratio:16 / 9;
}

.nav-page-contact-map iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}

.pst-contact-ui{
  --pst-contact-section-bg:#f5f4ee;
  --pst-contact-card-bg:#ffffff;
  --pst-contact-card-border:#d7ddd1;
  --pst-contact-title:#3f5d2f;
  --pst-contact-text:#6b7280;
  --pst-contact-label:#5b6470;
  --pst-contact-input-bg:#ffffff;
  --pst-contact-input-text:#0b1220;
  --pst-contact-input-border:#cfd8cc;
  --pst-contact-input-focus:#65a30d;
  --pst-contact-btn-bg:#8fb44f;
  --pst-contact-btn-text:#ffffff;
  --pst-contact-btn-border:transparent;
  --pst-contact-overlay-backdrop:rgba(15,23,42,.74);
  --pst-contact-overlay-card-bg:#f8f7f1;
  --pst-contact-overlay-card-border:#d7ddd1;
  --pst-contact-overlay-close-bg:#ffffff;
  --pst-contact-overlay-close-text:#0f172a;
}

.pst-contact-ui--page{
  width:min(100%, 1120px);
  margin:0 auto;
  background:var(--pst-contact-section-bg);
  border:1px solid var(--pst-contact-card-border);
  border-radius:28px;
  padding:clamp(24px, 3vw, 42px);
  box-shadow:0 22px 48px rgba(15,23,42,.06);
}

.pst-contact-ui--overlay-card{
  width:100%;
  background:transparent;
}

.pst-contact-form-shell{
  width:100%;
}

.pst-contact-form__head{
  width:min(100%, 760px);
  margin:0 auto 34px;
  text-align:center;
}

.pst-contact-form__title{
  margin:0;
  color:var(--pst-contact-title);
  font-size:clamp(30px, 3.4vw, 46px);
  line-height:1.08;
  letter-spacing:-.02em;
  text-wrap:balance;
}

.pst-contact-form__intro{
  margin:16px auto 0;
  color:var(--pst-contact-text);
  font-size:17px;
  line-height:1.86;
  text-wrap:pretty;
}

.pst-contact-form__divider{
  display:block;
  width:76px;
  height:4px;
  border-radius:999px;
  margin:18px auto 0;
  background:linear-gradient(90deg, transparent 0%, var(--pst-contact-title) 22%, var(--pst-contact-title) 78%, transparent 100%);
  opacity:.92;
}

.pst-contact-form__notice{
  width:min(100%, 860px);
  margin:0 auto 22px;
  padding:14px 16px;
  border-radius:16px;
  font-size:15px;
  line-height:1.6;
  border:1px solid transparent;
}

.pst-contact-form__notice--success{
  background:#ecfccb;
  color:#365314;
  border-color:#bef264;
}

.pst-contact-form__notice--error{
  background:#fef2f2;
  color:#991b1b;
  border-color:#fecaca;
}

.pst-contact-form{
  width:min(100%, 1120px);
  margin:0 auto;
}

.pst-contact-form__grid{
  display:grid;
  grid-template-columns:minmax(300px, 360px) minmax(0, 1fr);
  gap:28px;
  align-items:start;
}

.pst-contact-form__col{
  min-width:0;
}

.pst-contact-form__col--left{
  display:grid;
  gap:18px;
}

.pst-contact-field label{
  display:block;
  margin:0 0 8px;
  color:var(--pst-contact-label);
  font-size:15px;
  font-weight:700;
  letter-spacing:.01em;
}

.pst-contact-field__hint{
  margin:8px 0 0;
  color:var(--pst-contact-text);
  font-size:13px;
  line-height:1.45;
}

.pst-contact-field input,
.pst-contact-field textarea{
  width:100%;
  border:1px solid var(--pst-contact-input-border);
  background:var(--pst-contact-input-bg);
  color:var(--pst-contact-input-text);
  border-radius:10px;
  padding:12px 14px;
  font:inherit;
  box-shadow:0 1px 0 rgba(255,255,255,.45), inset 0 1px 2px rgba(15,23,42,.03);
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.pst-contact-field input{
  min-height:48px;
}

.pst-contact-field textarea{
  min-height:232px;
  resize:vertical;
}

.pst-contact-field input:focus,
.pst-contact-field textarea:focus{
  outline:none;
  border-color:var(--pst-contact-input-focus);
  box-shadow:0 0 0 4px rgba(101,163,13,.14);
}

.pst-contact-form__turnstile{
  display:flex;
  justify-content:flex-end;
  margin-top:22px;
}

.pst-contact-form__actions{
  display:flex;
  justify-content:flex-end;
  margin-top:26px;
}

.pst-contact-form__submit{
  min-width:168px;
  min-height:50px;
  padding:12px 24px;
  border:1px solid var(--pst-contact-btn-border);
  border-radius:10px;
  background:var(--pst-contact-btn-bg);
  color:var(--pst-contact-btn-text);
  font:inherit;
  font-weight:800;
  letter-spacing:.02em;
  cursor:pointer;
  box-shadow:0 16px 28px rgba(15,23,42,.10);
  transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}

.pst-contact-form__submit:hover{
  opacity:.96;
  transform:translateY(-1px);
}

.pst-contact-form__submit:active{
  transform:translateY(0);
}

.pst-contact-form__honeypot{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}

.pst-contact-modal{
  position:fixed;
  inset:0;
  z-index:1200;
  display:grid;
  place-items:center;
  padding:20px;
}

.pst-contact-modal[hidden]{
  display:none;
}

.pst-contact-modal__backdrop{
  position:absolute;
  inset:0;
  background:var(--pst-contact-overlay-backdrop);
  opacity:0;
  transition:opacity .18s ease;
}

.pst-contact-modal__dialog{
  position:relative;
  z-index:1;
  width:min(100%, 1180px);
  max-height:min(92vh, 920px);
  overflow:auto;
  background:var(--pst-contact-overlay-card-bg);
  border:1px solid var(--pst-contact-overlay-card-border);
  border-radius:28px;
  box-shadow:0 28px 80px rgba(15,23,42,.34);
  padding:28px;
  opacity:0;
  transform:translateY(10px) scale(.985);
  transition:opacity .18s ease, transform .18s ease;
}

.pst-contact-modal.is-active .pst-contact-modal__backdrop{
  opacity:1;
}

.pst-contact-modal.is-active .pst-contact-modal__dialog{
  opacity:1;
  transform:translateY(0) scale(1);
}

.pst-contact-modal__close{
  position:absolute;
  top:14px;
  right:14px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(15,23,42,.10);
  border-radius:999px;
  background:var(--pst-contact-overlay-close-bg);
  color:var(--pst-contact-overlay-close-text);
  font-size:28px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(15,23,42,.10);
}

.pst-contact-modal__body{
  padding-top:8px;
}

body.has-pst-contact-modal{
  overflow:hidden;
}

@media (max-width: 991px){
  .pst-contact-form__grid{
    grid-template-columns:1fr;
    gap:20px;
  }

  .pst-contact-field textarea{
    min-height:190px;
  }
}

@media (max-width: 768px){
  .nav-page-hero{
    padding:28px 0 18px;
  }

  .nav-page-hero__panel,
  .nav-page-content__panel{
    padding:24px 18px;
    border-radius:8px;
  }

  .nav-page-contact-stack{
    gap:20px;
  }

  .nav-page-content__text,
  .nav-page-content__text--contact-lead,
  .nav-page-hero__intro{
    font-size:15.5px;
    line-height:1.78;
  }

  .nav-page-hero__cta{
    width:100%;
    min-width:0;
    min-height:46px;
  }

  .nav-page-contact-map{
    aspect-ratio:4 / 3;
  }
}

@media (max-width: 640px){
  .nav-page-hero__title{
    font-size:31px;
    line-height:1.12;
  }

  .nav-page-content,
  .nav-page-contact-flow{
    padding-bottom:42px;
  }

  .nav-page-contact-block--form{
    gap:14px;
  }

  .pst-contact-ui--page{
    border-radius:22px;
    padding:22px 16px;
  }

  .pst-contact-form__head{
    margin-bottom:24px;
  }

  .pst-contact-form__intro{
    font-size:15.5px;
    line-height:1.72;
  }

  .pst-contact-form__turnstile{
    justify-content:center;
  }

  .pst-contact-form__actions{
    justify-content:stretch;
  }

  .pst-contact-form__submit{
    width:100%;
    min-width:0;
  }

  .pst-contact-modal{
    padding:12px;
  }

  .pst-contact-modal__dialog{
    padding:20px 14px 16px;
    border-radius:22px;
  }

  .pst-contact-modal__close{
    top:10px;
    right:10px;
  }
}


/* Non-contact navigation pages */
.nav-page-content--default{
  padding-top:10px;
}

.nav-page-content__panel--default{
  width:min(100%, 1040px);
  padding:40px 38px 42px;
  border-radius:28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(248,250,248,.98) 100%);
}

.nav-page-content__text--default{
  width:min(100%, 820px);
  margin:0 auto;
  color:var(--pst-nav-page-content-text, #334155);
  font-size:17px;
  line-height:1.95;
  text-wrap:pretty;
}

.nav-page-content__text--default strong{
  color:var(--pst-nav-page-title, #0f172a);
}

.nav-page-content__text--default a{
  color:var(--pst-nav-page-cta-bg, var(--pst-accent));
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
}

.nav-page-content__text--default br + br{
  display:block;
  content:"";
  margin-top:10px;
}

@media (max-width: 768px){
  .nav-page-content__panel--default{
    padding:24px 18px 26px;
    border-radius:22px;
  }

  .nav-page-content__text--default{
    width:100%;
    font-size:15.5px;
    line-height:1.82;
  }
}

/* Default service rows */
.nav-page-default-services{
  width:min(100%, 1360px);
  margin:30px auto 0;
  display:grid;
  gap:28px;
}

.nav-page-default-service{
  position:relative;
  display:grid;
  grid-template-columns:minmax(420px, 520px) minmax(0, 1fr);
  gap:34px;
  align-items:center;
  width:100%;
  padding:28px;
  border:1px solid rgba(203,213,225,.84);
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(248,250,252,.98) 100%);
  box-shadow:0 10px 24px rgba(15,23,42,.045);
  overflow:hidden;
}

.nav-page-default-service:nth-child(even){
  grid-template-columns:minmax(0, 1fr) minmax(420px, 520px);
}

.nav-page-default-service:nth-child(even) .nav-page-default-service__media{
  order:2;
}

.nav-page-default-service:nth-child(even) .nav-page-default-service__content{
  order:1;
}

.nav-page-default-service--no-media{
  grid-template-columns:1fr;
}


.nav-page-default-service__media{
  position:relative;
  width:100%;
  min-width:0;
  aspect-ratio:4 / 3;
  border-radius:26px;
  overflow:hidden;
  align-self:center;
  background:
    radial-gradient(120% 120% at 18% 12%, rgba(255,255,255,.92) 0%, rgba(255,255,255,0) 36%),
    linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
  border:1px solid rgba(203,213,225,.92);
  box-shadow:
    0 18px 36px rgba(15,23,42,.08),
    0 2px 0 rgba(255,255,255,.85) inset;
}

.nav-page-default-service__media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:0;
  background:var(--pst-default-service-mobile-overlay-color, #000000);
}

.nav-page-default-service__media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,0) 28%, rgba(15,23,42,.08) 100%);
}

.nav-page-default-service__image,
.nav-page-default-service__placeholder{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  border-radius:inherit;
  overflow:hidden;
}

.nav-page-default-service__image{
  border:0;
  object-fit:cover;
  object-position:center;
  background:#e5e7eb;
  transform:scale(1.025);
  filter:saturate(1.04) contrast(1.02);
  transition:transform .35s ease, filter .35s ease;
}

.nav-page-default-service__media:hover .nav-page-default-service__image{
  transform:scale(1.04);
  filter:saturate(1.06) contrast(1.03);
}

.nav-page-default-service__placeholder{
  border:2px dashed rgba(148,163,184,.78);
  background:linear-gradient(180deg, rgba(248,250,252,.98) 0%, rgba(241,245,249,.98) 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:26px;
  text-align:center;
  color:#64748b;
}

.nav-page-default-service__placeholder-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  max-width:34ch;
}

.nav-page-default-service__placeholder span{
  font-size:16px;
  font-weight:800;
}

.nav-page-default-service__placeholder small{
  display:block;
  font-size:13px;
  line-height:1.6;
}

.nav-page-default-service__content{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  align-self:stretch;
  text-align:left;
  padding:4px 0;
}

.nav-page-default-service__title{
  margin:0 0 14px;
  color:var(--pst-nav-page-title, #0f172a);
  font-size:clamp(28px, 3.2vw, 40px);
  line-height:1.08;
  letter-spacing:-.02em;
  text-wrap:balance;
  width:100%;
  max-width:none;
  text-align:left;
}

.nav-page-default-service__text{
  margin:0;
  width:100%;
  max-width:none;
  color:var(--pst-nav-page-content-text, #334155);
  font-size:17.5px;
  line-height:1.82;
  text-wrap:pretty;
  text-align:left;
  overflow:visible;
}

.nav-page-default-service--no-media .nav-page-default-service__content{
  align-items:flex-start;
  text-align:left;
}

.nav-page-default-service--no-media .nav-page-default-service__title,
.nav-page-default-service--no-media .nav-page-default-service__text{
  max-width:72ch;
}

@media (min-width: 981px){
  .nav-page-default-service--has-image,
  .nav-page-default-service--has-placeholder{
    height:460px;
    max-height:460px;
    align-items:stretch;
  }

  .nav-page-default-service--has-image .nav-page-default-service__content,
  .nav-page-default-service--has-placeholder .nav-page-default-service__content{
    height:100%;
    min-height:0;
    overflow:hidden;
    justify-content:flex-start;
  }

  .nav-page-default-service--has-image .nav-page-default-service__text,
  .nav-page-default-service--has-placeholder .nav-page-default-service__text{
    flex:1 1 auto;
    min-height:0;
    max-height:100%;
    overflow:auto;
    padding-right:10px;
    scrollbar-width:thin;
  }

  .nav-page-default-service--has-image .nav-page-default-service__text::-webkit-scrollbar,
  .nav-page-default-service--has-placeholder .nav-page-default-service__text::-webkit-scrollbar{
    width:8px;
  }

  .nav-page-default-service--has-image .nav-page-default-service__text::-webkit-scrollbar-thumb,
  .nav-page-default-service--has-placeholder .nav-page-default-service__text::-webkit-scrollbar-thumb{
    background:rgba(148,163,184,.52);
    border-radius:999px;
  }

  .nav-page-default-service--has-image .nav-page-default-service__text::-webkit-scrollbar-track,
  .nav-page-default-service--has-placeholder .nav-page-default-service__text::-webkit-scrollbar-track{
    background:rgba(226,232,240,.72);
    border-radius:999px;
  }
}

@media (min-width: 1200px){
  .nav-page-default-services{
    width:min(1440px, calc(100vw - 40px));
    position:relative;
    left:50%;
    transform:translateX(-50%);
    margin:34px 0 0;
    gap:30px;
  }

  .nav-page-default-service{
    grid-template-columns:minmax(360px, 460px) minmax(0, 1fr);
    gap:40px;
    padding:30px 34px;
  }

  .nav-page-default-service:nth-child(even){
    grid-template-columns:minmax(0, 1fr) minmax(360px, 460px);
  }


}

@media (min-width: 1400px){
  .nav-page-default-services{
    width:min(1500px, calc(100vw - 56px));
    margin-top:36px;
  }

  .nav-page-default-service{
    grid-template-columns:minmax(380px, 480px) minmax(0, 1fr);
    gap:44px;
    padding:32px 36px;
  }

  .nav-page-default-service:nth-child(even){
    grid-template-columns:minmax(0, 1fr) minmax(380px, 480px);
  }

    .nav-page-default-service__title{
    width:100%;
    max-width:none;
  }
    .nav-page-default-service__text{
    width:100%;
    max-width:none;
    font-size:18px;
  }
}

@media (max-width: 980px){
  .nav-page-default-service,
  .nav-page-default-service:nth-child(even){
    grid-template-columns:1fr;
    gap:18px;
    padding:18px;
    border-radius:24px;
  }
  
  .nav-page-default-service--has-image,
  .nav-page-default-service--has-placeholder{
    min-height:0;
    height:auto;
    max-height:none;
  }

  .nav-page-default-service:nth-child(even) .nav-page-default-service__media,
  .nav-page-default-service:nth-child(even) .nav-page-default-service__content{
    order:initial;
  }

  .nav-page-default-service__media{
    aspect-ratio:4 / 3;
    border-radius:24px;
  }

  .nav-page-default-service__content{
    align-items:flex-start;
    text-align:left;
  }

  .nav-page-default-service__title{
    max-width:none;
    font-size:clamp(28px, 5.5vw, 36px);
    text-align:left;
  }

  .nav-page-default-service__text{
    max-width:none;
    font-size:16.5px;
    line-height:1.8;
    text-align:left;
  }

  .nav-page-default-service--mobile-inside:not(.nav-page-default-service--no-media){
    padding:0;
    gap:0;
    border-radius:24px;
  }

  .nav-page-default-service--mobile-inside:not(.nav-page-default-service--no-media) .nav-page-default-service__media{
    aspect-ratio:4 / 3;
    border-radius:24px;
  }

  .nav-page-default-service--mobile-inside:not(.nav-page-default-service--no-media) .nav-page-default-service__image,
  .nav-page-default-service--mobile-inside:not(.nav-page-default-service--no-media) .nav-page-default-service__placeholder{
    width:100%;
    height:100%;
    min-height:0;
    border-radius:24px;
  }

  .nav-page-default-service--mobile-inside.nav-page-default-service--mobile-overlay-on.nav-page-default-service--has-image:not(.nav-page-default-service--no-media) .nav-page-default-service__media::before{
    opacity:var(--pst-default-service-mobile-overlay-opacity, .40);
  }

  .nav-page-default-service--mobile-inside.nav-page-default-service--has-placeholder:not(.nav-page-default-service--no-media) .nav-page-default-service__placeholder-copy{
    opacity:0;
    visibility:hidden;
  }

    .nav-page-default-service--mobile-inside:not(.nav-page-default-service--no-media) .nav-page-default-service__content{
    position:absolute;
    inset:0;
    z-index:3;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    align-items:flex-start;
    gap:10px;
    padding:18px 16px 16px;
    height:100%;
    min-height:0;
    overflow:hidden;
    box-sizing:border-box;
    color:#ffffff;
    text-align:left;
    pointer-events:auto;
  }

  .nav-page-default-service--mobile-inside.nav-page-default-service--mobile-pos-center:not(.nav-page-default-service--no-media) .nav-page-default-service__content{
    justify-content:center;
  }

  .nav-page-default-service--mobile-inside.nav-page-default-service--mobile-pos-bottom:not(.nav-page-default-service--no-media) .nav-page-default-service__content{
    justify-content:flex-end;
  }

    .nav-page-default-service--mobile-inside:not(.nav-page-default-service--no-media) .nav-page-default-service__title{
    margin:0;
    width:100%;
    max-width:none;
    color:#ffffff;
    font-size:clamp(24px, 5.8vw, 33px);
    line-height:1.06;
    text-align:left;
    text-shadow:0 2px 16px rgba(0,0,0,.30);
  }

    .nav-page-default-service--mobile-inside:not(.nav-page-default-service--no-media) .nav-page-default-service__text{
    margin:0;
    width:100%;
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow:auto;
    color:rgba(255,255,255,.96);
    font-size:15.2px;
    line-height:1.68;
    text-align:left;
    padding-right:6px;
    text-shadow:0 2px 12px rgba(0,0,0,.24);
    scrollbar-width:thin;
  }

  .nav-page-default-service--mobile-inside:not(.nav-page-default-service--no-media) .nav-page-default-service__text::-webkit-scrollbar{
    width:8px;
  }

  .nav-page-default-service--mobile-inside:not(.nav-page-default-service--no-media) .nav-page-default-service__text::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.46);
    border-radius:999px;
  }

  .nav-page-default-service--mobile-inside:not(.nav-page-default-service--no-media) .nav-page-default-service__text::-webkit-scrollbar-track{
    background:rgba(255,255,255,.14);
    border-radius:999px;
  }

  .nav-page-default-service--no-media{
    gap:18px;
    padding:18px;
  }

  .nav-page-default-service--no-media .nav-page-default-service__content{
    position:static;
    inset:auto;
    justify-content:flex-start;
    align-items:flex-start;
    padding:0;
    color:inherit;
    text-align:left;
    pointer-events:auto;
  }

  .nav-page-default-service--no-media .nav-page-default-service__title{
    color:var(--pst-nav-page-title, #0f172a);
    text-shadow:none;
  }

  .nav-page-default-service--no-media .nav-page-default-service__text{
    color:var(--pst-nav-page-content-text, #334155);
    text-shadow:none;
    max-height:none;
    overflow:visible;
    padding-right:0;
  }
}

@media (max-width: 640px){
  .nav-page-default-services{
    width:min(calc(100vw - 20px), 100%);
    margin-top:18px;
    gap:16px;
  }

  .nav-page-default-service{
    padding:16px;
    border-radius:22px;
  }

  .nav-page-default-service__media{
    aspect-ratio:4 / 3;
    border-radius:22px;
  }

  .nav-page-default-service--mobile-inside:not(.nav-page-default-service--no-media){
    border-radius:22px;
  }

  .nav-page-default-service--mobile-inside:not(.nav-page-default-service--no-media) .nav-page-default-service__media{
    aspect-ratio:4 / 3;
    border-radius:22px;
  }

  .nav-page-default-service--mobile-inside:not(.nav-page-default-service--no-media) .nav-page-default-service__image,
  .nav-page-default-service--mobile-inside:not(.nav-page-default-service--no-media) .nav-page-default-service__placeholder{
    width:100%;
    height:100%;
    min-height:0;
    border-radius:22px;
  }

    .nav-page-default-service--mobile-inside:not(.nav-page-default-service--no-media) .nav-page-default-service__content{
    padding:16px 14px 14px;
    gap:8px;
  }

    .nav-page-default-service--mobile-inside:not(.nav-page-default-service--no-media) .nav-page-default-service__title{
    font-size:clamp(21px, 7vw, 28px);
    line-height:1.08;
  }

    .nav-page-default-service--mobile-inside:not(.nav-page-default-service--no-media) .nav-page-default-service__text{
    font-size:14.4px;
    line-height:1.62;
    max-height:none;
  }

  .nav-page-default-service--no-media{
    padding:16px;
    border-radius:20px;
  }
}

/* =========================================
   NAVIGATION PAGE LAYOUTS
   ========================================= */
.nav-page-section-title{
  margin:0;
  color:var(--pst-nav-page-title, #0f172a);
  font-size:clamp(28px, 3.2vw, 38px);
  line-height:1.12;
  letter-spacing:-.02em;
  text-align:center;
}

.nav-page-section-intro{
  width:min(100%, 760px);
  margin:14px auto 0;
  color:var(--pst-nav-page-intro, #475569);
  font-size:17px;
  line-height:1.82;
  text-align:center;
  text-wrap:pretty;
}

.nav-page-layout-cta{
  margin-top:28px;
  display:flex;
  justify-content:center;
}

.nav-page-bio,
.nav-page-gallery,
.nav-page-faq{
  padding:10px 0 64px;
}

.nav-page-bio__grid{
  width:min(100%, 1320px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(280px, 420px) minmax(0, 1fr);
  gap:24px;
  align-items:start;
}

.nav-page-bio__grid--no-media{
  grid-template-columns:1fr;
}

.nav-page-bio__media{
  position:sticky;
  top:calc(var(--pst-header-h, 100px) + 18px);
}

.nav-page-bio__image{
  display:block;
  width:100%;
  border-radius:26px;
  border:1px solid rgba(203,213,225,.82);
  box-shadow:0 20px 40px rgba(15,23,42,.10);
  object-fit:cover;
}

.nav-page-bio__content{
  width:100%;
}

.nav-page-bio__lead{
  margin-top:16px;
}

.nav-page-bio__text{
  margin-top:22px;
}

.nav-page-bio__highlights{
  margin:24px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}

.nav-page-bio__highlights li{
  position:relative;
  padding:14px 16px 14px 42px;
  border:1px solid rgba(203,213,225,.82);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(248,250,248,.98) 100%);
  color:var(--pst-nav-page-content-text, #334155);
  line-height:1.75;
}

.nav-page-bio__highlights li::before{
  content:"";
  position:absolute;
  left:16px;
  top:18px;
  width:12px;
  height:12px;
  border-radius:999px;
  background:var(--pst-nav-page-cta-bg, var(--pst-accent));
  box-shadow:0 0 0 4px rgba(101,163,13,.12);
}

.nav-page-gallery__intro-wrap{
  width:min(100%, 980px);
  margin:0 auto 24px;
}

.nav-page-gallery__grid{
  width:min(100%, 1120px);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
}

.nav-page-gallery__item{
  margin:0;
  overflow:hidden;
  border:1px solid rgba(203,213,225,.82);
  border-radius:22px;
  background:var(--pst-nav-page-content-panel-bg, #fff);
  box-shadow:0 18px 40px rgba(15,23,42,.08);
}

.nav-page-gallery__image-wrap{
  aspect-ratio:4 / 3;
  background:#eef2f7;
}

.nav-page-gallery__image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.nav-page-gallery__caption{
  padding:14px 16px 16px;
  color:var(--pst-nav-page-content-text, #334155);
  line-height:1.7;
}



@media (max-width: 991px){
  .nav-page-bio__grid{
    grid-template-columns:1fr;
  }

  .nav-page-bio__media{
    position:static;
  }

  .nav-page-gallery__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px){
  .nav-page-bio,
  .nav-page-gallery,
  .nav-page-faq{
    padding-bottom:42px;
  }

  .nav-page-section-intro{
    font-size:15.5px;
    line-height:1.74;
  }

  .nav-page-bio__highlights li{
    padding:13px 14px 13px 38px;
  }

  .nav-page-gallery__grid{
    gap:16px;
  }
}

@media (max-width: 640px){
  .nav-page-gallery__grid{
    grid-template-columns:1fr;
  }

  .nav-page-gallery__item{
    border-radius:18px;
  }

  .nav-page-faq__question{
    padding:16px 46px 16px 16px;
  }

  .nav-page-faq__answer{
    padding:0 16px 16px;
  }
}

/* =========================================
   NAVIGATION PAGE BIO
   ========================================= */
.nav-page-bio{
  padding:48px 0 72px;
  
}

.nav-page-bio .container{
  width:min(1560px, 96%);
}

.nav-page-bio__grid{
  width:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:420px minmax(0, 1fr);
  gap:22px;
  align-items:start;
}

.nav-page-bio__media{
  min-width:0;
}

.nav-page-bio__media-shell{
  position:sticky;
  top:calc(var(--pst-header-h, 100px) + 22px);
  width:100%;
  max-width:420px;
  aspect-ratio:4 / 5;
  border-radius:24px;
  overflow:hidden;
}

.nav-page-bio__image{
  display:block;
  width:100%;
  height:100%;
  border-radius:24px;
  border:1px solid rgba(203,213,225,.82);
  box-shadow:0 20px 40px rgba(15,23,42,.10);
  object-fit:cover;
}

.nav-page-bio__image--png{
  border:0;
}

.nav-page-bio__image-placeholder{
  width:100%;
  height:100%;
  border:2px dashed rgba(148,163,184,.85);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(248,250,252,.96) 0%, rgba(241,245,249,.98) 100%);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  padding:24px;
  color:#64748b;
}

.nav-page-bio__image-placeholder span{
  font-size:16px;
  font-weight:800;
  letter-spacing:.01em;
}

.nav-page-bio__image-placeholder small{
  display:block;
  font-size:13px;
  line-height:1.55;
}

.nav-page-bio__content{
  width:100%;
}

.nav-page-bio__content.nav-page-content__panel{
  width:100%;
  max-width:none;
  padding:34px 22px 36px;
}

.nav-page-bio__title{
  margin:0;
  color:var(--pst-nav-page-title, #0f172a);
  font-size:clamp(28px, 3.2vw, 40px);
  line-height:1.08;
  letter-spacing:-.02em;
}

.nav-page-bio__lead{
  margin:14px 0 0;
  color:var(--pst-nav-page-intro, #475569);
  font-size:17px;
  line-height:1.72;
}

.nav-page-bio__lead--strong{
  font-weight:700;
}

.nav-page-bio__text{
  margin-top:20px;
}

.nav-page-bio__text.nav-page-content__text{
  font-size:16.5px;
  line-height:1.78;
}

.nav-page-bio__highlights{
  margin:22px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}

.nav-page-bio__highlights li{
  position:relative;
  padding:14px 16px 14px 40px;
  border:1px solid rgba(203,213,225,.82);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(248,250,248,.98) 100%);
  color:var(--pst-nav-page-content-text, #334155);
  line-height:1.62;
}

.nav-page-bio__highlights--strong li{
  font-weight:700;
}

.nav-page-bio__highlights li::before{
  content:"";
  position:absolute;
  left:16px;
  top:19px;
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--pst-nav-page-cta-bg, var(--pst-accent));
}

@media (max-width: 991px){
  .nav-page-bio{
    padding-top:28px;
  }

  .nav-page-bio__grid{
    width:100%;
    grid-template-columns:1fr;
    gap:22px;
  }

  .nav-page-bio__media{
    position:static;
  }

  .nav-page-bio__media-shell{
    position:static;
    top:auto;
    width:min(100%, 360px);
    max-width:none;
    margin:0 auto;
  }

  .nav-page-bio__content.nav-page-content__panel{
    padding:28px 22px 30px;
  }

  .nav-page-bio__text.nav-page-content__text{
    font-size:16px;
    line-height:1.74;
  }
}

@media (max-width: 640px){
  .nav-page-bio{
    padding-top:20px;
    padding-bottom:42px;
  }

  .nav-page-bio__media-shell{
    width:min(78vw, 260px);
    border-radius:20px;
  }

  .nav-page-bio__image,
  .nav-page-bio__image-placeholder{
    border-radius:20px;
  }

  .nav-page-bio__title{
    font-size:clamp(26px, 7vw, 34px);
  }

  .nav-page-bio__lead{
    font-size:15.5px;
    line-height:1.66;
  }

  .nav-page-bio__content.nav-page-content__panel{
    padding:22px 16px 24px;
  }

  .nav-page-bio__text.nav-page-content__text{
    font-size:15.5px;
    line-height:1.7;
  }

  .nav-page-bio__highlights li{
    padding:13px 14px 13px 38px;
  }
}
/* =========================================
   5. HOMEPAGE TEMPLATE V1 (front-page.php)
   ========================================= */
/* Hero v2 */
.hero-v2 {
  background: var(--pst-hero-bg);
  padding: 0;
  margin: 0;
  height: 100%;
  min-height: 0;
}

/* ABOVE THE FOLD = ακριβώς viewport - header */
.home-above-fold {
  display: flex;
  flex-direction: column;
  height: calc(100dvh - var(--pst-header-h, 113px));
  min-height: calc(100dvh - var(--pst-header-h, 113px));
}

.home-above-fold .hero-v2 {
  flex: 1 1 auto;   /* γεμίζει ό,τι μένει */
  min-height: 0;    /* ΠΟΛΥ σημαντικό για να μην το σπρώχνουν media */
}

.home-above-fold .trust-strip{
  flex: 0 0 auto;
  margin-top: 0;
  position: relative;
}

.home-above-fold .trust-strip::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  pointer-events:none;
  background: linear-gradient(90deg, transparent, var(--pst-sep-on-dark), transparent);
}

/* full-width media area */
.hero-v2__visuals {
  position: relative;
  width: 100%;
	margin-left: 0;
	margin-right: 0;	
  margin-top: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  align-items: stretch;
  height: 100%;
  min-height: 0;
  background: var(--pst-hero-media-bg);
  overflow: hidden;
}

/* overlay veil for readability */
.hero-v2__visuals::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:var(--pst-hero-overlay-veil, transparent);
}


/* Λίγο πιο ήπιο overlay μόνο όταν το hero mode είναι video */
.hero-v2__visuals--video_gif::before{
  background:transparent;
}


/* IMPORTANT: match PHP mode names */
.hero-v2__visuals--single_image,
.hero-v2__visuals--video_gif,
.hero-v2__visuals--slider {
  grid-template-columns: 1fr;
}

.hero-v2__visuals--two_images {
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  background: var(--pst-hero-divider); /* divider */
}

/* force grid items to obey parent height (not image aspect ratio) */
.hero-v2__media-card,
.hero-v2__placeholder-card,
.hero-v2__slider {
  position: relative;
  /* NOTE: χωρίς z-index εδώ, για να μπορούν τα slider arrows να κάτσουν πάνω από το veil */
  border: 0;
  background: var(--pst-hero-card-bg);
  overflow: hidden;
  height: 100%;
  min-height: 0;
  min-width: 0;
}

.hero-v2__placeholder-card {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 18px;
  font-weight: 700;
  color: var(--pst-hero-placeholder-text);
  background: linear-gradient(180deg, var(--pst-hero-placeholder-bg1) 0%, var(--pst-hero-placeholder-bg2) 100%);
}

.hero-v2__placeholder-card span {
  font-size: 14px;
  line-height: 1.35;
  max-width: 34ch;
}

/* Mobile vertical image override (Hero Content option) */
.hero-v2__mobile-override {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 1;
}

.hero-v2__mobile-override-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


/* media always fills available box and crops */
.hero-v2__media-img,
.hero-v2__media-video {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  display: block;
}

/* Το iframe ΔΕΝ υποστηρίζει object-fit, άρα ξεχωριστό rule */
.hero-v2__media-card--video {
  position: relative;
  overflow: hidden;
}

/* YouTube iframe "background-like cover" */
.hero-v2__media-iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  border: 0;
  display: block;

  /* base cover sizing */
  width: 100%;
  height: 100%;

  /* αν ο player αφήσει κενά, αυτά βοηθούν να τα εξαφανίσει */
  min-width: 100%;
  min-height: 100%;

  transform: translate(-50%, -50%);
}

/* Προαιρετικό: ελαφρύ brighten μόνο για YouTube iframe */
.hero-v2__media-iframe {
  filter: brightness(1.06) saturate(1.03);
}
/* slider */
.hero-v2__slider {
  position: relative;
}

.hero-v2__slider-viewport {
  overflow: hidden;
  height: 100%;
}

.hero-v2__slider-track {
  display: flex;
  height: 100%;
  width: 100%;
  transition: transform .4s ease;
  will-change: transform;
}

.hero-v2__slide {
  flex: 0 0 100%;
  width: 100%;
  min-width: 100%;
  height: 100%;
  min-height: 0;
}

/* Pro chevron arrows (ξεχωρίζουν, συμμετρικά) */
.hero-v2__slider{
  --pst-hero-arrow-inset: 16px;
}

.hero-v2__slider-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border-radius:999px;
 color: var(--pst-accent);
  display:grid;
  place-items:center;
  cursor:pointer;
  z-index:6;
	background: rgb(var(--pst-on-dark-rgb));
	border: 1px solid rgba(var(--pst-ink-rgb), .10);
	box-shadow:
	  0 12px 30px rgba(var(--pst-ink-rgb), .22),
	  0 0 0 3px rgba(var(--pst-accent-rgb, 37,99,235), .40); /* ring */
  transition: transform .14s ease, box-shadow .14s ease, background-color .14s ease, border-color .14s ease;
}

/* το chevron σχεδιάζεται με borders */
.hero-v2__slider-arrow::before{
  content:"";
  width:12px;
  height:12px;
  border-top: 3px solid currentColor;
  border-right: 3px solid currentColor;
  display:block;
}

.hero-v2__slider-arrow--prev::before{
  transform: rotate(225deg);
  margin-left: 2px; /* οπτικό κεντράρισμα */
}

.hero-v2__slider-arrow--next::before{
  transform: rotate(45deg);
  margin-left: -2px;
}

.hero-v2__slider-arrow:hover{
  background: rgba(var(--pst-on-dark-rgb), 1);
  border-color: rgba(var(--pst-ink-rgb), .22);
  box-shadow:
  0 14px 34px rgba(var(--pst-ink-rgb), .26),
  0 0 0 3px rgba(var(--pst-accent-rgb, 37,99,235), .42);
}

.hero-v2__slider-arrow:active{
  transform: translateY(-50%) scale(.96);
}

.hero-v2__slider-arrow:focus-visible{
  outline: 3px solid rgba(var(--pst-on-dark-rgb), .9);
  outline-offset: 3px;
}



/* κρύβουμε τα παλιά ‹ › */
.hero-v2__slider-arrow span{
  display:none;
}

.hero-v2__slider-arrow--prev{ left: var(--pst-hero-arrow-inset); }
.hero-v2__slider-arrow--next{ right: var(--pst-hero-arrow-inset); }

/* TEXT OVERLAY - πάνω αριστερά, σχεδόν κολλητά */
.hero-v2__overlay{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
}

.hero-v2__overlay::before{
  content:"";
  position:absolute;
  inset:0;
  background: var(--pst-hero-overlay-veil, transparent);
  pointer-events:none;
}

.hero-v2__overlay-inner{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
}

.hero-v2__content{
  position:absolute;
  top:clamp(18px, 3vw, 42px);
  left:clamp(18px, 3vw, 42px);
  z-index:2;
  pointer-events:auto;
  background: var(--pst-hero-content-bg);
}

.hero-v2__eyebrow {
  margin: 0 0 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  font-size: 12px;
  text-transform: none;
  color: var(--pst-hero-eyebrow-color);
}
.hero-v2 h1{
  color: var(--pst-hero-title-color);
  -webkit-text-stroke: var(--pst-hero-title-stroke-width, 0px) var(--pst-hero-title-stroke-color, transparent);
  paint-order: stroke fill;
}

.hero-v2__text{
  color: var(--pst-hero-subtitle-color);
}

.hero-v2--alternative{
  height:auto;
  min-height:0;
  background:transparent;
}

.alternative-hero__scroll{
  position:relative;
  height:var(--pst-alt-hero-scroll-height, 500dvh);
  min-height:100dvh;
}

.alternative-hero__sticky{
  position:sticky;
  top:0;
  height:100dvh;
  min-height:420px;
  overflow:hidden;
  background:#f8fafc;
  isolation:isolate;
}

.alternative-hero__media{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  background:#e5e7eb;
}

.alternative-hero__image-frame{
  position:absolute;
  inset:0;
  z-index:var(--pst-alt-slide-z, 0);
  opacity:0;
  transform:scale(1.045) translateX(3vw);
  transition:
    opacity .82s cubic-bezier(.22,1,.36,1),
    transform 1.05s cubic-bezier(.22,1,.36,1);
  will-change:opacity, transform;
}

.alternative-hero__image-frame.is-before{
  transform:scale(1.025) translateX(-2vw);
}

.alternative-hero__image-frame.is-active{
  opacity:1;
  transform:scale(1) translateX(0);
  z-index:1;
}

.alternative-hero__image{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.hero-v2--alternative-effect-center_expand .alternative-hero__image-frame{
  z-index:var(--pst-alt-slide-z, 0);
  opacity:var(--pst-alt-slide-opacity, 0);
  clip-path:inset(var(--pst-alt-slide-inset-y, 50%) var(--pst-alt-slide-inset-x, 50%));
  transform:scale(var(--pst-alt-slide-scale, .86));
  transition:none;
  will-change:opacity, clip-path, transform;
}

.hero-v2--alternative-effect-center_expand .alternative-hero__image-frame:first-child{
  opacity:1;
  clip-path:inset(0 0);
  transform:scale(1);
}

.hero-v2--alternative-effect-side_push .alternative-hero__image-frame{
  z-index:var(--pst-alt-slide-z, 0);
  opacity:var(--pst-alt-slide-opacity, 0);
  transform:translateX(var(--pst-alt-slide-shift, 100%)) scale(1);
  transition:none;
  will-change:opacity, transform;
}

.hero-v2--alternative-effect-side_push .alternative-hero__image-frame:first-child{
  opacity:1;
  transform:translateX(0) scale(1);
}

.hero-v2--alternative-effect-side_push .alternative-hero__image-frame.is-before{
  transform:translateX(-7%) scale(1.02);
}

.hero-v2--alternative-effect-fixed_image_panels .alternative-hero__image-frame{
  z-index:0;
  opacity:0;
  transform:none;
  transition:none;
  will-change:auto;
}

.hero-v2--alternative-effect-fixed_image_panels .alternative-hero__image-frame:first-child{
  z-index:1;
  opacity:1;
  transform:none;
}

.hero-v2--alternative-effect-fixed_image_panels .alternative-hero__image-frame.is-before,
.hero-v2--alternative-effect-fixed_image_panels .alternative-hero__image-frame.is-active,
.hero-v2--alternative-effect-fixed_image_panels .alternative-hero__image-frame.is-after{
  transform:none;
}

.hero-v2--alternative-effect-center_expand .alternative-hero__panel,
.hero-v2--alternative-effect-side_push .alternative-hero__panel{
  opacity:var(--pst-alt-panel-opacity, 0);
  transform:translateX(var(--pst-alt-panel-shift, 0px)) translateY(var(--pst-alt-panel-y, -50%));
  transition:none;
  will-change:opacity, transform;
}

.hero-v2--alternative-effect-center_expand .alternative-hero__panel--center,
.hero-v2--alternative-effect-side_push .alternative-hero__panel--center{
  transform:translate(-50%, var(--pst-alt-panel-y, -50%)) translateX(var(--pst-alt-panel-shift, 0px));
}

.hero-v2--alternative-effect-center_expand .alternative-hero__panel.is-active,
.hero-v2--alternative-effect-side_push .alternative-hero__panel.is-active{
  opacity:var(--pst-alt-panel-opacity, 1);
  transform:translateX(var(--pst-alt-panel-shift, 0px)) translateY(var(--pst-alt-panel-y, -50%));
}

.hero-v2--alternative-effect-center_expand .alternative-hero__panel--center.is-active,
.hero-v2--alternative-effect-side_push .alternative-hero__panel--center.is-active{
  transform:translate(-50%, var(--pst-alt-panel-y, -50%)) translateX(var(--pst-alt-panel-shift, 0px));
}

.alternative-hero__media::after{
  display:none;
}

.alternative-hero__panels{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
}

.alternative-hero__panel{
  --pst-alt-panel-top:50%;
  --pst-alt-panel-y:-50%;
  position:absolute;
  top:var(--pst-alt-panel-top);
  width:min(34vw, 500px);
  max-width:calc(100% - 48px);
  min-height:clamp(420px, 44vh, 600px);
  padding-block:clamp(18px, 2.45vw, 40px);
  padding-inline:clamp(12px, 1.25vw, 22px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:var(--pst-alt-panel-text-color, #334155);
  background:var(--pst-alt-panel-bg, rgba(255,255,255,.92));
  border-radius:0;
  opacity:0;
  pointer-events:none;
  transform:translateY(calc(var(--pst-alt-panel-y) + 22px));
  transition:
    opacity .52s cubic-bezier(.22,1,.36,1),
    transform .72s cubic-bezier(.22,1,.36,1);
  will-change:opacity, transform;
}

.alternative-hero__panel.is-active{
  opacity:1;
  pointer-events:auto;
  transform:translateY(var(--pst-alt-panel-y));
}

.alternative-hero__panel--left{
  left:clamp(24px, 4vw, 72px);
}

.alternative-hero__panel--center{
  left:50%;
  transform:translate(-50%, calc(var(--pst-alt-panel-y) + 22px));
}

.alternative-hero__panel--center.is-active{
  transform:translate(-50%, var(--pst-alt-panel-y));
}

.alternative-hero__panel--right{
  right:clamp(24px, 4vw, 72px);
}

.hero-v2 .alternative-hero__title{
  margin:0 0 clamp(12px, 1.6vw, 22px);
  color:var(--pst-alt-panel-title-color, #0f172a);
  font-size:clamp(24px, 3.55vw, 42px);
  line-height:.98;
  font-weight:400;
  letter-spacing:0;
  overflow-wrap:anywhere;
}

.hero-v2 .alternative-hero__text{
  color:var(--pst-alt-panel-text-color, #334155);
  font-size:clamp(15px, 1.7vw, 20px);
  line-height:1.58;
  max-width:38ch;
  overflow-wrap:anywhere;
}

.alternative-hero__text > :first-child{
  margin-top:0;
}

.alternative-hero__text > :last-child{
  margin-bottom:0;
}

.alternative-hero__cta{
  --pst-alt-cta-bg:var(--pst-ai-toggle-bg, #ffffff);
  --pst-alt-cta-text:var(--pst-ai-toggle-text, #0f172a);
  --pst-alt-cta-border:var(--pst-ai-toggle-border, rgba(255,255,255,.18));
  --pst-alt-cta-hover-bg:#0f172a;
  --pst-alt-cta-hover-text:var(--pst-ai-toggle-hover-text, #ffffff);
  --pst-alt-cta-hover-border:var(--pst-ai-toggle-hover-border, rgba(255,255,255,.82));
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  align-self:flex-start;
  width:auto;
  max-width:calc(100% - clamp(36px, 8vw, 96px));
  box-sizing:border-box;
  min-height:54px;
  margin-top:clamp(34px, 5vw, 76px);
  padding:0 clamp(18px, 2.2vw, 28px);
  border:1px solid var(--pst-alt-cta-border);
  border-radius:8px;
  background:var(--pst-alt-cta-hover-bg);
  color:var(--pst-alt-cta-text);
  text-decoration:none;
  font-weight:800;
  letter-spacing:0;
  box-shadow:
    0 18px 42px rgba(15,23,42,.18),
    inset 0 1px 0 rgba(255,255,255,.12);
  transition:
    color .28s ease,
    border-color .28s ease,
    box-shadow .28s ease;
}

.alternative-hero__cta::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  border-radius:inherit;
  background:var(--pst-alt-cta-bg);
  opacity:1;
  transform:scaleX(1);
  transform-origin:right center;
  will-change:transform;
  transition:transform .72s cubic-bezier(.22,1,.36,1);
}

.alternative-hero__cta::after{
  content:"";
  position:absolute;
  top:-1px;
  bottom:-1px;
  left:-38%;
  width:34%;
  z-index:0;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.08) 22%, rgba(255,255,255,.34) 50%, rgba(255,255,255,.08) 78%, rgba(255,255,255,0) 100%);
  opacity:0;
  transform:skewX(-18deg);
  pointer-events:none;
}

.alternative-hero__cta-label{
  position:relative;
  z-index:1;
  display:block;
  text-align:left;
}

@media (hover:hover) and (pointer:fine){
  .alternative-hero__cta:hover,
  .alternative-hero__cta:focus-visible{
    color:var(--pst-alt-cta-hover-text);
    border-color:var(--pst-alt-cta-hover-border);
    box-shadow:
      0 18px 42px rgba(15,23,42,.18),
      inset 0 1px 0 rgba(255,255,255,.22);
  }

  .alternative-hero__cta:hover::before,
  .alternative-hero__cta:focus-visible::before{
    transform:scaleX(0);
  }

  .alternative-hero__cta:hover::after,
  .alternative-hero__cta:focus-visible::after{
    opacity:1;
    animation:pstAiToggleSweep .78s cubic-bezier(.22,1,.36,1) 1;
  }
}

@media (min-width: 641px){
  .home-above-fold--alternative-hero{
    display:block;
    height:auto;
    min-height:0;
  }

  .home-above-fold--alternative-hero .hero-v2--standard{
    display:none;
  }

  .site-header.site-header--front-page + .site-main .home-above-fold--alternative-hero{
    height:auto;
    min-height:0;
  }
}

@media (min-width: 1200px){
  .hero-v2 .alternative-hero__title{
    font-size:clamp(28px, var(--pst-alt-panel-title-size, 64px), 96px);
  }

  .hero-v2 .alternative-hero__text{
    font-size:clamp(12px, var(--pst-alt-panel-text-size, 18px), 32px);
  }
}

@media (min-width: 641px) and (max-width: 1199px){
  .alternative-hero__panel{
    --pst-alt-panel-top:clamp(172px, 27dvh, 235px);
    --pst-alt-panel-y:0px;
    width:clamp(320px, 42vw, 410px);
    min-height:clamp(330px, 50dvh, 560px);
  }

  .alternative-hero__panel--left{
    left:clamp(18px, 3vw, 42px);
  }

  .alternative-hero__panel--right{
    right:clamp(18px, 3vw, 42px);
  }
}

@media (max-width: 900px){
  .alternative-hero__panel{
    width:clamp(300px, 43vw, 360px);
    min-height:clamp(300px, 50dvh, 500px);
    padding-block:clamp(16px, 3vw, 30px);
    padding-inline:clamp(12px, 2vw, 18px);
  }

  .hero-v2 .alternative-hero__title{
    font-size:clamp(20px, 3.25vw, 30px);
  }

  .hero-v2 .alternative-hero__text{
    font-size:clamp(12px, 1.85vw, 16px);
  }

  .alternative-hero__cta{
    min-height:46px;
    max-width:calc(100% - clamp(44px, 12vw, 96px));
    margin-top:clamp(26px, 4.6vw, 48px);
    padding-inline:clamp(16px, 4vw, 24px);
  }
}

@media (max-width: 640px){
  .hero-v2--alternative{
    display:none;
  }
}

@media (prefers-reduced-motion: reduce){
  .alternative-hero__image-frame,
  .alternative-hero__panel,
  .alternative-hero__cta,
  .alternative-hero__cta::before{
    transition:none;
  }

  .alternative-hero__cta::after{
    animation:none !important;
  }
}


@media (min-width: 1200px){
  .hero-v2__eyebrow{
    font-size: calc(var(--pst-hero-eyebrow-desktop-size, 12px) * 1.08);
  }

  .hero-v2__content h1{
    font-size: calc(var(--pst-hero-title-desktop-size, 32px) * 1.08);
    line-height: 1.06;
  }

  .hero-v2__text{
    font-size: calc(var(--pst-hero-subtitle-desktop-size, 16px) * 1.08);
    line-height: 1.33;
  }
}



/* Safe rich text output */

.pst-rich-text-output > :first-child{
  margin-top:0;
}

.pst-rich-text-output > :last-child{
  margin-bottom:0;
}

.pst-rich-text-output p{
  margin:0 0 1em;
}

.pst-rich-text-output ul,
.pst-rich-text-output ol{
  margin:0 0 1em;
  padding-left:1.25em;
}

.pst-rich-text-output li + li{
  margin-top:.35em;
}

.pst-rich-text-output a{
  color:inherit;
  text-decoration:underline;
}
/* Trust Strip */

.trust-strip {
  margin-top: 0;
  margin-bottom: 0;
}

.home-above-fold--trust-top-transparent {
  position: relative;
}

.home-above-fold--trust-top-transparent .hero-v2 {
  flex: 1 1 100%;
  min-height: 0;
}

.home-above-fold--trust-top-transparent .trust-strip {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5;
  width: 100%;
  pointer-events: none;
}

.home-above-fold--trust-top-transparent .trust-strip::before {
  display: none;
}

.home-above-fold--trust-top-transparent .trust-strip__top,
.trust-strip--top-transparent .trust-strip__top {
  background: transparent;
  border: 0;
  box-shadow: none;
}

.home-above-fold--trust-top-transparent .trust-strip__box,
.trust-strip--top-transparent .trust-strip__box {
  background: transparent;
  border: 0;
  box-shadow: none;
}

.home-above-fold--trust-top-transparent .trust-card,
.home-above-fold--trust-top-transparent .trust-card * {
  pointer-events: auto;
}

.trust-strip__top {
  background: var(--pst-trust-bg, #0f172a);
  padding: 18px 0 14px;
  margin-top: 0;
  margin-bottom: 0;
}

.trust-strip__features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  align-items: start;
}

.trust-card {
  text-align: center;
  color: var(--pst-on-dark);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

/* Trust strip icons */
.trust-card__icon-placeholder {
  width: 95px;
  height: 95px;
  margin: 0 auto 8px;
  border-radius: 22px;
  background: var(--pst-icon-circle-bg, var(--pst-trust-icon-bg));
  color: var(--pst-on-dark);
  display: grid;
  place-items: center;
  font-weight: 800;
  border: 2px solid var(--pst-on-dark-border-25);
  line-height: 1;
}

.trust-card__icon-wrap {
  width: 95px;
  height: 95px;
  margin: 0 auto 8px;
  border-radius: 22px;
  background: var(--pst-icon-circle-bg, var(--pst-trust-icon-bg));
  border: 2px solid rgba(var(--pst-on-dark-rgb), 0.25);
  display: grid;
  place-items: center;
  overflow: hidden;
}

.trust-card__icon-image {
  width: calc(100% - 18px);
  height: calc(100% - 18px);
  object-fit: contain;
  display: block;
  margin: 1px;
  padding: 1px;
}

.trust-card h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
  text-transform: uppercase;
  max-width: 18ch;
  text-wrap: balance;
}




/* =========================================
   6. GENERIC SECTIONS
   ========================================= */
.section {
  padding: 64px 0;
}

.section__head {
  margin-bottom: 24px;
}

.section__eyebrow {
  margin: 0 0 8px;
  font-size: 12px;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: var(--pst-muted);
}

.section__head h2,
.about-preview__content h2,
.cta-band h2 {
  margin: 0 0 10px;
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.15;
  color: var(--pst-text);
}

.section__head p,
.about-preview__content p,
.cta-band p {
  color: var(--pst-muted);
}

/* =========================================
   7. HOMEPAGE SERVICES
   ========================================= */
.home-services{
  --pst-home-services-bg:#edf2ee;
  --pst-home-service-card-bg:#f6f8f5;
  --pst-home-service-surface:#f2f5f1;
  --pst-home-service-title:#18232d;
  --pst-home-service-text:#52606d;
  --pst-home-service-btn-bg:var(--pst-accent);
  --pst-home-service-btn-text:var(--pst-on-dark);
  --pst-home-service-btn-border:var(--pst-accent);
  --pst-home-service-overlay:transparent;
  --pst-home-service-overlay-opacity:0;
  --pst-home-service-media-ratio:1400 / 500;

  background:
    linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.03) 100%),
    var(--pst-home-services-bg);
  padding:clamp(28px, 3vw, 44px) 0;
}

.home-services .container{
  width:min(1540px, calc(100% - 18px));
}

.home-services__stack{
  width:min(100%, 1460px);
  margin:0 auto;
  display:grid;
  gap:24px;
}

.home-service{
  width:100%;
}

.home-service__shell{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  background:linear-gradient(180deg, #f8faf8 0%, var(--pst-home-service-card-bg) 100%);
  border:1px solid rgba(24,35,45,.12);
  box-shadow:
    0 20px 42px rgba(15,23,42,.12),
    0 8px 18px rgba(15,23,42,.06);
  isolation:isolate;
}

.home-service__content{
  position:relative;
  z-index:2;
  padding:26px clamp(18px, 2.1vw, 30px) 20px;
  background:linear-gradient(180deg, rgba(247,249,246,.98) 0%, rgba(243,246,242,.98) 100%);
  border-bottom:1px solid rgba(24,35,45,.08);
}

.home-service__content-inner{
  width:min(100%, 96ch);
  margin:0 auto;
}

.home-service__content-link{
  display:block;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  transition:
    background .2s ease,
    box-shadow .2s ease,
    filter .2s ease;
}

@media (hover:hover) and (pointer:fine){
  .home-service__content-link:hover{
  background:linear-gradient(180deg, rgba(250,252,250,.99) 0%, rgba(245,248,244,.99) 100%);
  box-shadow:0 10px 22px rgba(15,23,42,.06);
}

}

.home-service__content-link:active{
  background:linear-gradient(180deg, rgba(248,250,248,.99) 0%, rgba(243,246,242,.99) 100%);
  box-shadow:0 6px 14px rgba(15,23,42,.05);
}

.home-service__content-link:focus-visible{
  outline:2px solid rgba(var(--pst-accent-rgb), .34);
  outline-offset:-4px;
}

.home-service__title{
  margin:0;
  font-size:clamp(32px, 3.2vw, 44px);
  line-height:1.06;
  letter-spacing:-.02em;
  color:var(--pst-home-service-title);
  text-wrap:balance;
  text-align:center;
}

.home-service__text{
  margin-top:12px;
  max-width:84ch;
  margin-left:auto;
  margin-right:auto;
  color:var(--pst-home-service-text);
  font-size:17.5px;
  line-height:1.72;
  text-wrap:pretty;
  text-align:center;
}

.home-service__text p{
  margin:0 0 10px;
}

.home-service__text p:last-child{
  margin-bottom:0;
}

.home-service__title-panel{
  position:relative;
  z-index:3;
  padding:26px clamp(18px, 2.1vw, 30px) 20px;
  background:linear-gradient(180deg, rgba(247,249,246,.98) 0%, rgba(243,246,242,.98) 100%);
  border-bottom:1px solid rgba(24,35,45,.08);
  transition:opacity .34s ease, visibility .34s ease;
}

.home-service__title-panel .home-service__title{
  width:min(100%, 96ch);
  margin:0 auto;
}

.home-service--has-image .home-service__content{
  order:1;
  position:static;
  z-index:3;
  display:block;
  overflow:visible;
  padding:26px clamp(18px, 2.1vw, 30px) 20px;
  background:linear-gradient(180deg, rgba(247,249,246,.98) 0%, rgba(243,246,242,.98) 100%);
  border-bottom:1px solid rgba(24,35,45,.08);
  color:inherit;
  transform:none;
  transition:background .2s ease, box-shadow .2s ease, filter .2s ease;
}

.home-service--has-image .home-service__content::before{
  display:none;
}

.home-service--has-image .home-service__content-inner{
  width:min(100%, 96ch);
  margin:0 auto;
  color:initial;
}

.home-service--has-image .home-service__title{
  color:var(--pst-home-service-title);
  text-align:center;
}

.home-service--has-image .home-service__text{
  max-width:84ch;
  margin-top:12px;
  margin-left:auto;
  margin-right:auto;
  color:var(--pst-home-service-text);
  font-size:17.5px;
  font-weight:400;
  line-height:1.72;
  text-align:center;
  text-shadow:none;
}

.home-service--has-image .home-service__btn{
  position:absolute;
  right:clamp(16px, 2vw, 26px);
  bottom:clamp(16px, 2vw, 26px);
  z-index:5;
  margin-top:0;
  pointer-events:auto;
}

@media (min-width: 1025px) and (hover:hover) and (pointer:fine){
  .home-service--has-image .home-service__content{
    position:absolute;
    inset:0;
    z-index:4;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:auto;
    padding:clamp(24px, 4vw, 54px);
    background:transparent;
    border-bottom:0;
    color:var(--pst-home-service-content-overlay-text, #ffffff);
    transform:translateX(-101%);
    transition:transform .82s cubic-bezier(.22, 1, .36, 1);
  }

  .home-service--has-image .home-service__content::before{
    content:"";
    display:block;
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:var(--pst-home-service-content-overlay, #879f6c);
    opacity:var(--pst-home-service-content-overlay-opacity, .78);
  }

  .home-service--has-image .home-service__content-inner{
    width:min(100%, 980px);
    margin:0;
    color:inherit;
  }

  .home-service--has-image .home-service__text{
    max-width:72ch;
    margin-top:0;
    margin-left:0;
    margin-right:0;
    color:inherit;
    font-size:clamp(19px, 1.45vw, 24px);
    font-weight:800;
    line-height:1.48;
    text-align:left;
    text-shadow:0 2px 12px rgba(0,0,0,.16);
  }

  .home-service--has-image .home-service__btn{
    position:static;
    margin-top:clamp(18px, 2.4vw, 28px);
    pointer-events:none;
  }

  .home-service--has-image .home-service__shell:hover .home-service__content,
  .home-service--has-image .home-service__shell:focus-within .home-service__content{
    transform:translateX(0);
  }

  .home-service--has-image .home-service__content-link:hover{
    background:transparent;
    box-shadow:none;
  }

  .home-service--has-image .home-service__shell:hover .home-service__image,
  .home-service--has-image .home-service__shell:focus-within .home-service__image{
    transform:scale(1.01);
    filter:none;
  }
}

.home-service--has-image .home-service__content-link:active{
  background:transparent;
  box-shadow:none;
}

.home-service__media{
  position:relative;
  display:flex;
  flex-direction:column;
  width:100%;
  margin:0;
  overflow:hidden;
  background:var(--pst-home-service-surface);
  line-height:normal;
}

.home-service__media .home-service__image{
  order:2;
}

.home-services[data-image-display-mode="fixed_ratio"] .home-service__media{
  aspect-ratio:auto;
  min-height:0;
}

.home-services[data-image-display-mode="natural_height"] .home-service__media{
  aspect-ratio:auto;
}

.home-service__media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:var(--pst-home-service-overlay);
  opacity:var(--pst-home-service-overlay-opacity);
}

.home-service__media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    rgba(15,23,42,.02) 0%,
    rgba(15,23,42,.22) 100%
  );
}

.home-service__image{
  display:block;
  width:100%;
  max-width:none;
  vertical-align:middle;
  object-position:center center;
  transition:transform .6s ease, filter .35s ease;
}

.home-services[data-image-display-mode="fixed_ratio"] .home-service__image{
  width:100%;
  height:auto;
  object-fit:cover;
  transform:none;
}

.home-services[data-image-display-mode="natural_height"] .home-service__image{
  width:100%;
  height:auto;
  object-fit:cover;
  transform:none;
}

@media (min-width: 1025px) and (hover:hover) and (pointer:fine){
  .home-service__media{
    display:block;
    line-height:0;
  }

  .home-services[data-image-display-mode="fixed_ratio"] .home-service__media{
    aspect-ratio:var(--pst-home-service-media-ratio);
  }

  .home-services[data-image-display-mode="fixed_ratio"] .home-service__image{
    width:100%;
    height:100%;
    transform:scale(1.01);
  }
}

@media (hover:hover) and (pointer:fine){
 
  .home-service__shell:hover .home-service__image,
  .home-service__shell:focus-within .home-service__image{
    transform:scale(1.03);
    filter:saturate(1.02);
  }

  .home-services[data-image-display-mode="natural_height"] .home-service__shell:hover .home-service__image,
  .home-services[data-image-display-mode="natural_height"] .home-service__shell:focus-within .home-service__image{
    transform:none;
  }
}

@media (max-width: 1024px){
  .home-service--has-image .home-service__shell:hover .home-service__image,
  .home-service--has-image .home-service__shell:focus-within .home-service__image{
    transform:none;
    filter:none;
  }
}

.home-service__actions{
  z-index:4;
  display:flex;
  justify-content:flex-end;
  pointer-events:none;
}

.home-service__actions--media{
  position:absolute;
  right:clamp(16px, 2vw, 26px);
  bottom:clamp(16px, 2vw, 26px);
}

.home-service__actions--content{
  position:static;
  padding:0 clamp(22px, 2.6vw, 40px) 26px;
}

.home-service__btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:50px;
  padding:12px 20px;
  border-radius:999px;
  background:var(--pst-home-service-btn-bg);
  color:var(--pst-home-service-btn-text);
  border:1px solid var(--pst-home-service-btn-border);
  font-weight:700;
  font-size:14.5px;
  letter-spacing:.01em;
  text-decoration:none;
  box-shadow:0 14px 28px rgba(11,18,32,.24);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    filter .18s ease;
  pointer-events:auto;
  border-color:rgba(255,255,255,.92);
}

.home-service__btn::after{
  content:"→";
  line-height:1;
  font-size:.98em;
  transition:transform .18s ease;
}

.home-service__btn:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(11,18,32,.30);
  filter:saturate(1.03);
}

.home-service__btn:hover::after,
.home-service__btn:focus-visible::after{
  transform:translateX(3px);
}

.home-service__btn:focus-visible{
  outline:2px solid rgba(37,99,235,.22);
  outline-offset:3px;
}

.home-service--no-image .home-service__shell{
  background:linear-gradient(180deg, #f8faf8 0%, #eef3ee 100%);
}

.home-service--no-image .home-service__content{
  background:transparent;
  border-bottom:0;
  padding-bottom:20px;
}

.home-service--no-image .home-service__actions--content{
  padding-top:0;
}

@media (min-width: 992px){
  .home-service--reveal-ready{
    opacity:0;
    filter:none;
    transform-origin:50% 55%;
    transition:
      opacity var(--pst-reveal-opacity-duration, .72s) cubic-bezier(.22,.61,.36,1) var(--pst-reveal-delay, 0ms),
      transform var(--pst-reveal-transform-duration, .82s) cubic-bezier(.22,.61,.36,1) var(--pst-reveal-delay, 0ms),
      filter var(--pst-reveal-filter-duration, .96s) cubic-bezier(.22,.61,.36,1) var(--pst-reveal-delay, 0ms);
    will-change:transform, opacity, filter;
  }

  .home-service--from-left{
    transform:translate3d(-34px, 18px, 0);
  }

  .home-service--from-right{
    transform:translate3d(34px, 18px, 0);
  }

  .home-service--fade-up{
    transform:translate3d(0, 30px, 0);
  }

  .home-service--soft-fade{
    transform:translate3d(0, 14px, 0) scale(.994);
    filter:blur(10px) saturate(.92);
    --pst-reveal-opacity-duration:1.02s;
    --pst-reveal-transform-duration:1.12s;
    --pst-reveal-filter-duration:1.18s;
  }

  .home-service--settle{
    transform:translate3d(0, 22px, 0) scale(.986);
    filter:blur(6px);
    --pst-reveal-opacity-duration:.84s;
    --pst-reveal-transform-duration:.92s;
    --pst-reveal-filter-duration:.98s;
  }

  .home-service--reveal-ready.is-visible{
    opacity:1;
    transform:translate3d(0, 0, 0) scale(1);
    filter:blur(0) saturate(1);
  }
}

@media (max-width: 1180px){
  .home-services__stack{
    width:min(100%, calc(100% - 16px));
  }

  .home-service__shell{
    border-radius:24px;
  }
}

@media (max-width: 980px){
  .home-services{
    padding:34px 0 38px;
  }

  .home-services .container{
    width:min(100%, calc(100% - 24px));
  }

  .home-services__stack{
    width:100%;
    gap:18px;
  }

  .home-service__shell{
    border-radius:22px;
    box-shadow:
      0 14px 26px rgba(15,23,42,.11),
      0 6px 12px rgba(15,23,42,.06);
  }

  .home-service__content{
  padding:20px 16px 16px;
}

.home-service__content-inner{
  width:100%;
}

.home-service__title{
  font-size:clamp(25px, 6vw, 34px);
  text-align:left;
}

.home-service__text{
  max-width:none;
  font-size:16px;
  line-height:1.68;
  text-align:left;
}

  .home-service__actions--media{
    right:16px;
    bottom:16px;
  }

  .home-service__actions--content{
    padding:0 18px 20px;
  }
}

@media (max-width: 640px){
  .home-service__shell{
    border-radius:18px;
  }

  .home-service__content{
    padding:18px 16px 16px;
  }

  .home-service--has-image .home-service__content{
    padding:22px 18px;
  }

  .home-service--has-image .home-service__btn{
    right:14px;
    bottom:14px;
  }

  .home-service--has-image .home-service__title{
    font-size:clamp(26px, 7vw, 34px);
  }

  .home-service--has-image .home-service__text{
    font-size:16px;
    line-height:1.5;
  }

  .home-service__actions--media{
    right:14px;
    bottom:14px;
  }

  .home-service__actions--content{
    padding:0 16px 18px;
  }

  .home-service__btn{
    min-height:44px;
    padding:10px 15px;
    font-size:14px;
  }
}


/* =========================================
   8B. NEWSLETTER
   ========================================= */

.pst-newsletter{
  background:var(--pst-newsletter-section-bg, #0f172a);
}

.pst-newsletter--footer{
  padding:38px 0 0;
}

.pst-newsletter--homepage{
  padding:38px 0;
}

.pst-newsletter--in-footer{
  background:transparent;
  padding:24px 0 10px;
}

.pst-newsletter--in-footer .pst-newsletter__panel{
  box-shadow:0 18px 40px rgba(15,23,42,.18);
}

.pst-newsletter__panel{
  background:var(--pst-newsletter-panel-bg, #ffffff);
  border:1px solid var(--pst-newsletter-border, #e2e8f0);
  border-radius:28px;
  box-shadow:0 18px 40px rgba(15,23,42,.12);
  padding:30px;
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(320px, .92fr);
  gap:28px;
  align-items:center;
}

.pst-newsletter__panel{
  width:min(100%, 1120px);
  margin-inline:auto;
}

.pst-newsletter__form-shell{
  width:100%;
}

.pst-newsletter__form{
  width:100%;
}

.pst-newsletter__content{
  min-width:0;
}

.pst-newsletter__eyebrow{
  margin:0 0 12px;
  color:var(--pst-newsletter-eyebrow, #65a30d);
  font-size:clamp(28px, 4.2vw, 38px);
  line-height:1.12;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
  text-wrap:balance;
}

.pst-newsletter__title{
  margin:0;
  color:var(--pst-newsletter-title, #0f172a);
  font-size:clamp(28px, 5vw, 36px);
  line-height:1.08;
  letter-spacing:-.02em;
  text-wrap:balance;
}

.pst-newsletter__intro{
  margin-top:14px;
  color:var(--pst-newsletter-intro, #475569);
  font-size:16px;
  line-height:1.72;
  max-width:58ch;
}

.pst-newsletter__form-shell{
  min-width:0;
}

.pst-newsletter__form{
  display:grid;
  gap:14px;
}

.pst-newsletter__form-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:12px;
  align-items:center;
}

.pst-newsletter__input{
  width:100%;
  min-height:52px;
  border-radius:16px;
  border:1px solid var(--pst-newsletter-input-border, #cbd5e1);
  background:var(--pst-newsletter-input-bg, #ffffff);
  color:var(--pst-newsletter-input-text, #0f172a);
  padding:0 16px;
  font-size:15px;
  line-height:1.2;
  outline:none;
  box-shadow:none;
}

.pst-newsletter__input::placeholder{
  color:var(--pst-newsletter-input-placeholder, #94a3b8);
  opacity:1;
}

.pst-newsletter__input:focus{
  border-color:var(--pst-newsletter-button-bg, #65a30d);
  box-shadow:0 0 0 4px rgba(101,163,13,.12);
}

.pst-newsletter__button{
  min-height:52px;
  padding:0 20px;
  border:0;
  border-radius:16px;
  background:var(--pst-newsletter-button-bg, #65a30d);
  color:var(--pst-newsletter-button-text, #ffffff);
  font-size:15px;
  font-weight:800;
  cursor:pointer;
  transition:transform .18s ease, opacity .18s ease, box-shadow .18s ease;
  box-shadow:0 10px 24px rgba(15,23,42,.14);
}

.pst-newsletter__button:hover{
  opacity:.94;
  transform:translateY(-1px);
}

.pst-newsletter__consent{
  display:grid;
  grid-template-columns:18px minmax(0, 1fr);
  gap:10px;
  align-items:start;
}

.pst-newsletter__consent input{
  margin:4px 0 0;
}

.pst-newsletter__consent-copy{
  color:var(--pst-newsletter-privacy, #64748b);
  font-size:13px;
  line-height:1.6;
}

.pst-newsletter__consent-copy p{
  margin:0;
}

.pst-newsletter__notice{
  border-radius:20px;
  padding:18px 18px;
  background:rgba(34,197,94,.10);
  border:1px solid rgba(34,197,94,.24);
  color:#166534;
}

.pst-newsletter__notice p{
  margin:0;
}

.pst-newsletter__embed{
  min-width:0;
}

.pst-newsletter__embed iframe,
.pst-newsletter__embed form,
.pst-newsletter__embed > div{
  width:100%;
  max-width:100%;
}

@media (min-width: 1200px){
  .pst-newsletter__eyebrow{
    font-size:var(--pst-newsletter-eyebrow-size, 42px);
  }

  .pst-newsletter__title{
    font-size:var(--pst-newsletter-title-size, 34px);
  }

  .pst-newsletter__intro{
    font-size:var(--pst-newsletter-intro-size, 16px);
  }
}

@media (max-width: 991px){
  .pst-newsletter--footer{
    padding:30px 0 0;
  }

  .pst-newsletter--homepage{
    padding:30px 0 28px;
  }

  .pst-newsletter--in-footer{
    padding:20px 0 6px;
  }

  .pst-newsletter__panel{
    grid-template-columns:1fr;
    padding:24px;
    gap:20px;
  }

  .pst-newsletter__intro{
    max-width:none;
  }
}

@media (max-width: 640px){
  .pst-newsletter--homepage{
    padding:24px 0 24px;
  }

  .pst-newsletter__panel{
    padding:18px;
    border-radius:20px;
  }

 .pst-newsletter__eyebrow{
  font-size:28px;
  line-height:1.12;
}

  .pst-newsletter__title{
    font-size:clamp(24px, 7vw, 31px);
  }

  .pst-newsletter__intro{
    font-size:15px;
    line-height:1.68;
  }

  .pst-newsletter__form-row{
    grid-template-columns:1fr;
  }

  .pst-newsletter__button{
    width:100%;
  }
}

/* =========================================
   9. FOOTER
   ========================================= */
.site-footer{
  background:var(--pst-footer-bg, #0f172a);
  color:var(--pst-footer-text, #fff);
  margin-top:0;
}

.site-footer a{
  color:inherit;
}

.site-footer__eyebrow{
  margin:0;
  padding:34px 0 0;
  text-align:center;
  font-size:32px;
  line-height:1.3;
  letter-spacing:0;
  font-weight:700;
  color:var(--pst-footer-title-color, #ffffff);
}

.site-footer__main{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(340px, 520px);
  gap:48px;
  align-items:start;
  padding:28px 0 36px;
}

.site-footer__brand{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.site-footer__details{
  order:2;
  margin:0 auto;
  width:min(100%, 680px);
  max-width:680px;
  color:var(--pst-footer-muted, rgba(255,255,255,.78));
  font-size:19px;
  line-height:1.82;
  text-align:center;
  text-wrap:pretty;
}

.site-footer__cta{
  order:1;
  width:min(100%, 760px);
  margin:0 0 24px;
  text-align:center;
}

.site-footer__cta-title{
  margin:0 0 14px;
  font-size:clamp(22px, 2vw, 28px);
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.01em;
  color:var(--pst-footer-cta-title-color, var(--pst-footer-text, #fff));
}

.site-footer__cta-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:12px;
}

.site-footer__cta-btn{
  min-width:220px;
}

.site-footer__cta-btn--quote{
  background:var(--pst-footer-quote-btn-bg, var(--pst-accent));
  color:var(--pst-footer-quote-btn-text, #fff);
  border:1px solid var(--pst-footer-contact-btn-border, rgba(255,255,255,.92));
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease;
}

.site-footer__cta-btn--contact{
  background:var(--pst-footer-contact-btn-bg, transparent);
  color:var(--pst-footer-contact-btn-text, #fff);
  border:1px solid var(--pst-footer-contact-btn-border, rgba(255,255,255,.92));
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease;
}

.site-footer__cta-btn--quote:hover,
.site-footer__cta-btn--quote:focus-visible,
.site-footer__cta-btn--contact:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(11,18,32,.18);
}

.site-footer__cta-btn--quote:focus-visible,
.site-footer__cta-btn--contact:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(11,18,32,.18);
}

.site-footer__map{
  min-width:0;
}

.site-footer__map-head{
  margin:0 0 14px;
  text-align:center;
}

.site-footer__map-title{
  margin:0;
  font-size:clamp(22px, 2vw, 28px);
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.01em;
  color:var(--pst-footer-text, #fff);
}

.site-footer__map-subtitle{
  margin:8px 0 0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:var(--pst-footer-muted, rgba(255,255,255,.78));
  font-size:18px;
  line-height:1.45;
}

.site-footer__map-subtitle-icon{
  width:18px;
  height:18px;
  flex:0 0 auto;
  color:#ef4444;
}

.site-footer__map-subtitle-icon .pst-pin-center{
  fill:#111827;
}

.site-footer__map-subtitle-icon svg{
  display:block;
  width:100%;
  height:100%;
}

.site-footer__map-frame{
  overflow:hidden;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.10);
  background:#dfe6ee;
  box-shadow:0 18px 36px rgba(15,23,42,.22);
  aspect-ratio:16 / 10;
}

.site-footer__map-frame iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}

.site-footer__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px 28px;
  flex-wrap:wrap;
  padding:20px 0 26px;
  border-top:1px solid var(--pst-footer-line, var(--pst-sep-on-dark));
  color:var(--pst-footer-muted, rgba(255,255,255,.78));
  font-size:18px;
  line-height:1.5;
}

.site-footer__bottom-left,
.site-footer__bottom-right{
  min-width:0;
  flex:1 1 280px;
}

.site-footer__bottom-right{
  text-align:right;
}

.site-footer__bottom--single{
  justify-content:center;
  text-align:center;
}

.site-footer__bottom--single .site-footer__bottom-left,
.site-footer__bottom--single .site-footer__bottom-right{
  flex:0 1 auto;
  text-align:center;
}

.site-footer__bottom-left a,
.site-footer__bottom-right a{
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color .18s ease, opacity .18s ease;
}

.site-footer__bottom-left a:hover,
.site-footer__bottom-right a:hover{
  border-color:currentColor;
}

.site-footer--map-off .site-footer__main{
  grid-template-columns:1fr;
  gap:28px;
  justify-items:center;
}

.site-footer--map-off .site-footer__brand{
  max-width:860px;
}

body.pst-nav-page--contact .site-footer__eyebrow,
body.pst-nav-page--contact .site-footer__main{
  display:none;
}

body.pst-nav-page--contact .site-footer{
  background:#f8fafc;
  color:#475569;
}

body.pst-nav-page--contact .site-footer .container{
  padding-top:0;
}

body.pst-nav-page--contact .site-footer__bottom{
  justify-content:center;
  text-align:center;
  border-top:none;
  padding:18px 0 24px;
  color:#64748b;
}

body.pst-nav-page--contact .site-footer__bottom-left,
body.pst-nav-page--contact .site-footer__bottom-right{
  flex:0 1 auto;
  text-align:center;
}

@media (max-width: 991px){
  .site-footer__main{
    grid-template-columns:1fr;
    gap:32px;
  }

  .site-footer__map{
    width:100%;
    max-width:640px;
    margin:0 auto;
  }

  .site-footer__bottom{
    justify-content:center;
    text-align:center;
  }

  .site-footer__bottom-left,
  .site-footer__bottom-right{
    flex:0 1 100%;
    text-align:center;
  }
  
    .site-footer__details{
    width:min(100%, 720px);
    max-width:720px;
    text-align:left;
    line-height:1.76;
  }

  .site-footer__cta{
    text-align:center;
  }
}

@media (max-width: 640px){
  .site-footer__eyebrow{
    padding-top:28px;
    font-size:16px;
  }

  .site-footer__main{
    padding:24px 0 24px;
    gap:26px;
  }

    .site-footer__details{
    max-width:34rem;
    font-size:15.5px;
    line-height:1.72;
    text-align:left;
  }

  .site-footer__cta-title,
  .site-footer__map-title{
    font-size:22px;
    line-height:1.18;
  }

  .site-footer__cta-btn{
    width:100%;
    min-width:0;
  }

  .site-footer__map-frame{
    aspect-ratio:4 / 3;
  }

  .site-footer__bottom{
    padding:18px 0 24px;
  }
}

/* =========================================
   11. RESPONSIVE (TABLET / MOBILE)
   ========================================= */



@media (max-width: 1200px) {
  .header-cta {
    display: none !important;
  }
}

/* Large tablets / smaller laptops */
@media (max-width: 1180px) {
  

  .main-nav a {
    padding: 6px 7px;
    font-size: 13px;
  }

}

@media (max-width: 1100px) {
  .header-shell__inner {
    gap: 14px;
  }

  .brand__text {
    font-size: 18px;
  }

  .main-nav a {
    padding: 7px 8px;
    font-size: 14px;
  }

}

/* Tablets / Mobile nav breakpoint */
@media (max-width: 992px) {
  .hero-v2 {
    min-height: auto;
  }

  .hero-v2__grid,
  .about-preview {
    grid-template-columns: 1fr;
  }

  .image-placeholder--tall {
    min-height: 300px;
  }

  .cards-grid {
    grid-template-columns: 1fr 1fr;
  }


  .cta-band__inner {
    flex-direction: column;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .container {
    width: min(1100px, 94%);
  }

  .hero-v2 {
    min-height: auto;
  }

  .hero-v2__slider {
    --pst-hero-arrow-inset: 10px;
  }

  .hero-v2__content h1 {
    font-size: 28px;
  }

  .hero-v2__text {
    font-size: 16px;
  }

  .hero-v2__actions {
    width: 100%;
  }

  .hero-v2__actions .btn {
    flex: 1 1 auto;
  }

  .hero-v2__visuals {
    grid-template-columns: 1fr;
  }

  .image-placeholder--tall {
    min-height: 240px;
  }

  .cards-grid {
    grid-template-columns: 1fr;
  }

  .trust-card h3 {
    font-size: 16px;
    width: 100%;
    text-align: center;
  }

  .cta-band__actions {
    width: 100%;
  }

  .cta-band__actions .btn {
    width: 100%;
  }

  .hero-v2__visuals--has-mobile-override .hero-v2__mobile-override {
    display: block;
  }

  .hero-v2__visuals--has-mobile-override .hero-v2__media-card,
  .hero-v2__visuals--has-mobile-override .hero-v2__placeholder-card,
  .hero-v2__visuals--has-mobile-override .hero-v2__slider {
    display: none !important;
  }
}

/* =========================================
   Hero Media (new modes) responsive polish
   ========================================= */
@media (max-width: 992px) {
  /* Στις 2 εικόνες κάνουμε stack, αλλά με ίσο ύψος ανά εικόνα */
  .hero-v2__visuals--two_images {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 2px;
    background: var(--pst-hero-divider);
  }

  .hero-v2__overlay-inner {
    padding-top: 12px;
    padding-left: 8px;
    padding-right: 8px;
  }

  .hero-v2__content {
    max-width: min(680px, 96vw);
  }

  .hero-v2__content h1 {
    font-size: clamp(24px, 4.6vw, 34px);
    line-height: 1.14;
    margin-bottom: 10px;
  }

  .hero-v2__text {
    font-size: 15px;
    line-height: 1.35;
    max-width: 56ch;
  }

  .hero-v2__eyebrow {
    font-size: 11px;
    margin-bottom: 8px;
  }

.hero-v2__visuals::before {
  background:transparent;
}


.hero-v2__visuals--video_gif::before {
  background:transparent;
}
  

	 .header-brand{
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px;
    text-align: center;
  }

  .brand__stack{
    flex: 0 1 auto;   /* <-- το κρίσιμο (να μη “απλώνει” σε όλο το πλάτος) */
    width: auto;
    align-items: center;
    text-align: center;
    min-width: 0;
  }

.brand__name-link{
   justify-content: center;
}

.brand__text{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: calc(100vw - 140px); /* αφήνει χώρο για logo + padding */
}

.brand__meta{
  justify-content: center;
}


  .main-nav a::after{
    content:none;
  }
}

@media (max-width: 640px) {
  .hero-v2__overlay-inner {
    padding-top: 10px;
    padding-left: 7px;
    padding-right: 7px;
  }

  .hero-v2__content {
    max-width: 96vw;
  }

  .hero-v2__content h1 {
    font-size: clamp(20px, 6.2vw, 28px);
    line-height: 1.15;
    margin-bottom: 8px;
  }

  .hero-v2__text {
    font-size: 14px;
    line-height: 1.34;
    max-width: 48ch;
  }

  .hero-v2__eyebrow {
    font-size: 10px;
    margin-bottom: 6px;
  }

  .hero-v2__slider-arrow {
    width: 40px;
    height: 40px;
  }

  
   .hero-v2__slider-arrow::before{
    width:10px;
    height:10px;
    border-top-width:3px;
    border-right-width:3px;
  }
  
   .trust-strip__features {
    gap: 8px;
  }

  .trust-card__icon-wrap,
  .trust-card__icon-placeholder {
    width: 58px;
    height: 58px;
    border-radius: 14px;
    margin: 0 auto 6px;
  }

  .trust-card h3{
    font-size:13px;
    line-height:1.22;
    max-width:14ch;
  }

}

/* =========================================
   COMPACT SMALL-LAPTOP / TABLET HOMEPAGE
   ========================================= */

/* 993–1100: εδώ ανήκει το 1024px screenshot */
@media (max-width: 1100px) and (min-width: 993px){

  .site-header .container{
    width:min(1440px, calc(100% - 20px));
  }

  .header-shell__inner{
    min-height:86px;
    height:auto;
    gap:10px;
    padding:4px 0;
    align-items:flex-start;
  }

  .header-brand{
    gap:10px;
    min-width:0;
    align-items:flex-start;
  }

  .brand__logo-link{
    flex:0 0 82px;
    width:82px;
    height:82px;
  }

  .brand__logo,
  .brand__logo-placeholder{
    width:82px;
    height:82px;
    border-radius:10px;
  }

  .brand__stack{
    gap:2px;
    min-width:0;
  }

  .brand__text{
    font-size:clamp(21px, 2.3vw, 24px);
    line-height:1.02;
    max-width:min(31vw, 310px);
  }

  .brand__meta{
    gap:2px 10px;
  }

  .header-contact-item,
  .header-contact-item--text{
    font-size:12.5px;
    line-height:1.14;
    gap:4px;
  }

  .header-contact-item__icon{
    width:18px;
    height:18px;
    flex:0 0 18px;
    transform:none;
  }

  .header-contact-item__icon .pst-meta-icon{
    width:18px;
    height:18px;
  }

  .header-contact-item--address span:last-child{
    max-width:min(17vw, 160px);
  }

  .header-right{
    gap:5px;
    align-self:flex-start;
    min-width:0;
  }

  .main-nav ul{
    gap:0 2px;
    max-width:min(52vw, 540px);
  }

  .main-nav a{
    padding:5px 7px;
    font-size:12px;
    line-height:1.06;
  }

  .main-nav a::after{
    left:8px;
    right:8px;
    bottom:3px;
  }

  .hero-v2__overlay-inner{
    padding-top:8px;
    padding-left:8px;
    padding-right:8px;
  }

  .hero-v2__content{
    top:14px;
    left:14px;
    max-width:min(39vw, 350px);
  }

  .hero-v2__content h1{
    font-size:clamp(18px, 2.5vw, 28px);
    line-height:1.03;
    margin-bottom:5px;
    max-width:10ch;
  }

  .hero-v2__text{
    font-size:13px;
    line-height:1.22;
    max-width:28ch;
  }

  .hero-v2__eyebrow{
    font-size:10px;
    margin-bottom:5px;
  }

     .trust-strip__top{
    padding:7px 0 8px;
  }

  .trust-strip__box{
    background:transparent;
    border-radius:0;
    padding:0;
    box-shadow:none;
  }

  .trust-strip__features{
    display:flex;
    flex-wrap:nowrap;
    justify-content:space-evenly;
    align-items:flex-start;
    gap:0;
  }

  .trust-card{
    flex:0 0 132px;
    width:132px;
    min-width:132px;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    row-gap:0;
    text-align:center;
    color:var(--pst-on-dark);
  }

  .trust-card__icon-wrap,
  .trust-card__icon-placeholder{
    width:74px;
    height:74px;
    margin:0 auto 6px;
    border-radius:18px;
  }

}

/* 641–992: compact tablet */
@media (max-width: 992px) and (min-width: 641px){

  .site-header .container{
    width:min(1440px, calc(100% - 14px));
  }

  .header-shell__inner{
    min-height:auto;
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:flex-start;
    justify-content:space-between;
    gap:8px;
    padding:4px 0;
  }

  .header-brand{
    order:1;
    flex:1 1 auto;
    min-width:0;
    width:auto;
    gap:8px;
    align-items:flex-start;
    justify-content:flex-start;
    text-align:left;
  }

  .brand__logo-link{
    flex:0 0 62px;
    width:62px;
    height:62px;
  }

  .brand__logo,
  .brand__logo-placeholder{
    width:62px;
    height:62px;
    border-radius:9px;
  }

  .brand__stack{
    flex:1 1 auto;
    width:auto;
    min-width:0;
    gap:1px;
    align-items:flex-start;
    text-align:left;
  }

  .brand__name-link{
    justify-content:flex-start;
  }

  .brand__text{
    font-size:clamp(16px, 2.35vw, 20px);
    line-height:1.02;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:min(33vw, 260px);
    text-align:left;
  }

  .brand__meta{
    justify-content:flex-start;
    gap:1px 8px;
  }

  .header-contact-item,
  .header-contact-item--text{
    font-size:10.5px;
    line-height:1.12;
    gap:4px;
  }

  .header-contact-item__icon{
    width:16px;
    height:16px;
    flex:0 0 16px;
    transform:none;
  }

  .header-contact-item__icon .pst-meta-icon{
    width:16px;
    height:16px;
  }

  .header-contact-item--address span:last-child{
    display:inline-block;
    max-width:min(17vw, 110px);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    vertical-align:bottom;
  }

  .header-mobile-top{
    display:none !important;
  }

  .header-right{
    order:2;
    flex:0 1 auto;
    width:auto;
    min-width:0;
    margin-top:0;
    justify-content:flex-end;
    align-items:flex-start;
    gap:4px;
  }

  .nav-toggle{
    display:none !important;
  }

  .main-nav{
    display:block !important;
    width:auto;
    min-width:0;
  }

  .main-nav ul{
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:flex-end;
    align-items:flex-start;
    gap:0 2px;
    max-width:min(52vw, 420px);
  }

  .main-nav li{
    width:auto;
  }

  .main-nav a{
    display:inline-flex;
    width:auto;
    background:transparent;
    padding:4px 6px;
    border-radius:8px;
    font-size:11px;
    line-height:1.06;
    white-space:nowrap;
  }

  .main-nav a::after{
    left:7px;
    right:7px;
    bottom:3px;
  }

  .hero-v2__visuals--two_images{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    grid-template-rows:none;
    gap:2px;
    background:var(--pst-hero-divider);
  }

  .hero-v2__overlay-inner{
    padding-top:6px;
    padding-left:6px;
    padding-right:6px;
  }

  .hero-v2__content{
    top:12px;
    left:12px;
    max-width:min(35vw, 260px);
  }

  .hero-v2__eyebrow{
    font-size:9px;
    margin:0 0 7px;
  }

  .hero-v2__content h1{
    font-size:clamp(16px, 2.9vw, 23px);
    line-height:1.02;
    margin:0 0 7px;
    max-width:8.5ch;
  }

  .hero-v2__text{
    margin:0;
    font-size:11.5px;
    line-height:1.18;
    max-width:22ch;
  }

  .hero-v2__text > *{
    margin:0;
  }

  .hero-v2__text p{
    margin:0;
  }

  .hero-v2__visuals::before,
  .hero-v2__visuals--video_gif::before{
    background:transparent;
  }

     .trust-strip__top{
    padding:7px 0 8px;
  }

  .trust-strip__box{
    background:transparent;
    border-radius:0;
    padding:0;
    box-shadow:none;
  }

  .trust-strip__features{
    display:flex;
    flex-wrap:nowrap;
    justify-content:space-evenly;
    align-items:flex-start;
    gap:0;
  }

  .trust-card{
    flex:0 0 106px;
    width:106px;
    min-width:106px;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
    color:var(--pst-on-dark);
  }

  .trust-card__icon-wrap,
  .trust-card__icon-placeholder{
    width:56px;
    height:56px;
    margin:0 auto 6px;
    border-radius:16px;
  }

}
/* 641–760: tighter tablet, αλλά ακόμα 4 trust items δίπλα-δίπλα */
@media (max-width: 760px) and (min-width: 641px){

  .site-header .container{
    width:min(1440px, calc(100% - 12px));
  }

  .header-shell__inner{
    gap:6px;
    padding:3px 0 4px;
  }

  .brand__logo-link{
    flex:0 0 56px;
    width:56px;
    height:56px;
  }

  .brand__logo,
  .brand__logo-placeholder{
    width:56px;
    height:56px;
    border-radius:8px;
  }

  .brand__text{
    font-size:15px;
    max-width:min(32vw, 220px);
  }

  .brand__meta{
    gap:1px 6px;
  }

  .header-contact-item,
  .header-contact-item--text{
    font-size:10px;
  }

  .header-contact-item--address span:last-child{
    max-width:min(16vw, 92px);
  }

  .main-nav ul{
    max-width:min(50vw, 340px);
  }

  .main-nav a{
    padding:3px 5px;
    font-size:10.5px;
    border-radius:7px;
  }

  .hero-v2__content{
    top:10px;
    left:10px;
    max-width:min(34vw, 220px);
  }

  .hero-v2__eyebrow{
    font-size:8.5px;
    margin:0 0 6px;
  }

  .hero-v2__content h1{
    font-size:clamp(14px, 2.5vw, 20px);
    line-height:1.01;
    margin:0 0 6px;
    max-width:8ch;
  }

  .hero-v2__text{
    margin:0;
    font-size:10.5px;
    line-height:1.16;
    max-width:19ch;
  }

  .hero-v2__text > *{
    margin:0;
  }

  .hero-v2__text p{
    margin:0;
  }

     .trust-strip__top{
    padding:6px 0 7px;
  }

  .trust-strip__features{
    display:flex;
    flex-wrap:nowrap;
    justify-content:space-evenly;
    align-items:flex-start;
    gap:0;
  }

  .trust-card{
    flex:0 0 88px;
    width:88px;
    min-width:88px;
    margin:0;
    padding:0;
  }

  .trust-card__icon-wrap,
  .trust-card__icon-placeholder{
    width:48px;
    height:48px;
    margin:0 auto 5px;
    border-radius:14px;
  }

 
}

/* Mobile Template */
.mobile-template-hero{
  display:none;
}

.mobile-template-hero__floating-call{
  display:none;
}

@media (max-width: 640px){
  .home-above-fold--mobile-template{
    display:block;
    height:auto;
    min-height:0;
  }

  .home-above-fold--mobile-template > .hero-v2,
  .home-above-fold--mobile-template > .trust-strip{
    display:none !important;
  }

  .home-above-fold--mobile-template > .mobile-template-hero{
    display:block;
  }

  .mobile-template-hero{
    background:#fff;
  }

  .mobile-template-hero__media{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    height:calc(100dvh - var(--pst-header-h, 0px));
    min-height:calc(100dvh - var(--pst-header-h, 0px));
    padding:24px 10px 24px;
    background:#0f172a;
    overflow:hidden;
    isolation:isolate;
  }

  .mobile-template-hero__media::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(
      180deg,
      var(--pst-mobile-intro-overlay, rgba(11,18,32,.16)) 0%,
      rgba(11,18,32,.30) 26%,
      rgba(11,18,32,.56) 58%,
      rgba(11,18,32,.78) 100%
    );
  }

  .mobile-template-hero__image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    display:block;
  }

  .mobile-template-hero__intro,
  .mobile-template-hero__bottom{
    position:relative;
    z-index:2;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
  }

  .mobile-template-hero__intro{
    color:#fff;
    padding:0;
  }

  .mobile-template-hero__bottom{
    margin-top:14px;
    padding:0;
    background:transparent;
  }

  .mobile-template-hero__intro .container,
  .mobile-template-hero__bottom .container{
    width:100%;
    max-width:none;
    padding:0;
  }

  .mobile-template-hero__intro-inner{
    max-width:100%;
    min-height:0;
    display:flex;
    flex-direction:column;
  }

  .mobile-template-hero__eyebrow{
  margin:0 0 8px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  color:var(--pst-mobile-eyebrow-color, rgba(255,255,255,.88));
}

 .mobile-template-hero__title{
  margin:0 0 10px;
  font-size:clamp(24px, 7.2vw, 34px);
  line-height:1.08;
  font-weight:800;
  color:var(--pst-mobile-title-color, #fff);
}

.mobile-template-hero__text{
  margin:0;
  font-size:15px;
  line-height:1.28;
  color:var(--pst-mobile-subtitle-color, rgba(255,255,255,.94));
}

  .mobile-template-hero__panel{
    display:grid;
    gap:8px;
    padding:0;
    background:transparent;
  }

  .mobile-template-hero__actions{
    display:grid;
    gap:10px;
    width:100%;
    margin-top:0;
    padding:0 14px;
    box-sizing:border-box;
  }

  .mobile-template-hero__actions--single{
    margin-top:-10px;
    margin-bottom:20px;
  }

  .mobile-template-hero__cta{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    box-sizing:border-box;
    min-height:50px;
    padding:12px 14px;
    border-radius:16px;
    text-align:center;
    text-decoration:none;
    font-size:15px;
    font-weight:800;
    color:var(--pst-mobile-cta-color, #fff);
    background:var(--pst-mobile-cta-bg, transparent);
    border:2px solid var(--pst-mobile-cta-border-color, rgba(255,255,255,.88));
  }

  

/* Mobile hero feature list */
.mobile-template-hero__features{
  display:grid;
  gap:8px;
  width:max-content;
  max-width:100%;
  margin:0 auto;
}

.mobile-template-hero__feature{
  display:grid;
  grid-template-columns:18px auto;
  align-items:start;
  column-gap:8px;
  width:100%;
  margin:0;
  text-align:left;
  font-size:16px;
  line-height:1.3;
  font-weight:700;
  color:#fff;
}

.mobile-template-hero__feature::before{
  content:"";
  width:18px;
  height:18px;
  margin-top:1px;
  background-image:url("assets/img/check.png");
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}

  .mobile-template-hero__phrase{
    margin:10px 0 0;
    text-align:center;
    font-size:18px;
    line-height:1.3;
    font-weight:800;
    color:var(--pst-mobile-phrase-color, #fff);
  }
  
  .mobile-template-hero__floating-call{
  position:fixed;
  right:16px;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 18px);
  z-index:130;
  display:flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
  border-radius:999px;
  text-decoration:none;
  color:var(--pst-mobile-floating-call-icon, #ffffff);
  background:var(--pst-mobile-floating-call-bg, #5f8f1f);
  border:2px solid rgba(255,255,255,.92);
  box-shadow:
    0 18px 34px rgba(15,23,42,.22),
    0 8px 18px rgba(95,143,31,.26);
  -webkit-tap-highlight-color:transparent;
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.pst-has-ai-assistant-mobile .mobile-template-hero__floating-call{
  bottom:calc(env(safe-area-inset-bottom, 0px) + 92px);
}

.pst-has-ai-assistant-mobile .pst-ai-assistant{
  bottom:calc(env(safe-area-inset-bottom, 0px) + 18px);
}

.pst-has-ai-assistant-mobile .pst-ai-assistant.pst-ai-assistant--front-page{
  bottom:calc(env(safe-area-inset-bottom, 0px) + 18px);
}

.mobile-template-hero__floating-call:active{
  transform:scale(.96);
}

.mobile-template-hero__floating-call-icon{
  display:flex;
  width:28px;
  height:28px;
}

.mobile-template-hero__floating-call-icon svg{
  display:block;
  width:100%;
  height:100%;
}

body.has-mobile-menu-open .mobile-template-hero__floating-call{
  opacity:0;
  pointer-events:none;
}
  
  
}

/* Mobile Header / Drawer */
body.has-mobile-menu-open{
  overflow:hidden;
}

@media (max-width: 640px){
	

  .site-header--mobile-template{
    background:#fff;
    color:var(--pst-text);
    box-shadow:0 4px 18px rgba(15,23,42,.08);
    overflow-x:clip;
	
  }

  .site-header--mobile-template .header-shell{
  background:var(--pst-mobile-brand-bg, #fff);
}

  .site-header--mobile-template .header-shell::after{
    display:none;
  }

  .site-header--mobile-template .header-shell__inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "top top"
      "brand toggle";
    align-items:center;
    gap:0;
    padding:0;
  }

  .site-header--mobile-template .header-mobile-top{
    grid-area:top;
    display:block;
    width:calc(100% + 32px);
    margin-left:-16px;
    margin-right:-16px;
    background:var(--pst-mobile-topbar-bg, #000);
    color:var(--pst-mobile-topbar-text, #fff);
    padding:0 12px;
    box-sizing:border-box;
  }

  .site-header--mobile-template .header-mobile-top__inner{
    width:min(1440px, 100%);
    margin:0 auto;
    min-height:44px;
    display:flex;
    align-items:center;
    gap:0;
    overflow-x:auto;
    overflow-y:hidden;
  }

  .site-header--mobile-template .header-mobile-top__item{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--pst-mobile-topbar-text, #fff);
    text-decoration:none;
    white-space:nowrap;
    font-size:14px;
    line-height:1;
    padding:0;
    flex:0 0 auto;
  }

  .site-header--mobile-template .header-mobile-top__item + .header-mobile-top__item{
    margin-left:12px;
    padding-left:12px;
    border-left:1px solid rgba(255,255,255,.26);
  }

  .site-header--mobile-template .header-mobile-top__icon{
    font-size:15px;
    line-height:1;
    flex:0 0 auto;
    color:var(--pst-mobile-topbar-text, #fff);
  }

  .site-header--mobile-template .header-mobile-top__text{
    line-height:1;
  }

  .site-header--mobile-template .header-brand{
    grid-area:brand;
    width:auto;
    min-width:0;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    padding:0;
    text-align:left;
  }

  .site-header--mobile-template .brand__logo-link{
  flex:0 0 90px;
  width:90px;
  height:90px;
}

.site-header--mobile-template .brand__logo{
  width:90px;
  height:90px;
  max-width:none;
  object-fit:contain;
}

.site-header--mobile-template .brand__logo-placeholder{
  width:90px;
  height:90px;
}

  .site-header--mobile-template .brand__stack{
    width:auto;
    flex:1 1 auto;
    min-width:0;
    align-items:flex-start;
    justify-content:center;
    align-self:center;
    text-align:left;
    gap:4px;
    padding-top:2px;
  }

  .site-header--mobile-template .brand__titles{
    align-self:flex-start;
    gap:4px;
  }

 .site-header--mobile-template .brand__name-link,
.site-header--mobile-template .brand__name-link:hover,
.site-header--mobile-template .brand__name-link:focus{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  max-width:100%;
  color:var(--pst-mobile-brand-title-color, var(--pst-text));
  text-decoration:none;
}

  .site-header--mobile-template .brand__text{
  font-size:18px;
  line-height:1.08;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:calc(100vw - 170px);
  color:var(--pst-mobile-brand-title-color, var(--pst-text));
  text-align:left;
  -webkit-text-stroke:0 transparent;
  paint-order:normal;
}

  .site-header--mobile-template .brand__subtitle{
    display:block;
    max-width:calc(100vw - 170px);
    color:var(--pst-mobile-brand-title-color, var(--pst-text));
    font-size:13px;
    line-height:1.12;
    font-weight:700;
    text-align:left;
    -webkit-text-stroke:0 transparent;
    paint-order:normal;
  }

  .site-header--mobile-template .brand__meta{
    display:none;
  }

  .site-header--mobile-template .header-right{
    grid-area:toggle;
    width:auto;
    flex:0 0 auto;
    margin:0;
    justify-content:flex-end;
    position:relative;
  }

    .site-header--mobile-template .nav-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    padding:0;
    border:1px solid rgba(15,23,42,.08);
    border-radius:16px;
    background:var(--pst-mobile-menu-btn-bg, #f8fafc);
    color:var(--pst-mobile-menu-btn-icon, #0f172a);
    cursor:pointer;
    box-shadow:0 8px 18px rgba(15,23,42,.08);
  }

  .site-header--mobile-template .nav-toggle__icon{
    display:grid;
    gap:5px;
    width:auto;
    height:auto;
    position:static;
  }

  .site-header--mobile-template .nav-toggle__icon span{
    position:static;
    display:block;
    width:24px;
    height:3px;
    border-radius:999px;
    background:currentColor;
    transition:transform .18s ease, opacity .18s ease;
  }

  .site-header--mobile-template .main-nav{
    display:none;
  }

  .site-header--mobile-template .header-cta{
    display:none;
  }
  
  
    .site-header--mobile-template .header-right.is-open{
    position:fixed;
    inset:0;
    z-index:120;
    display:block;
    background:rgba(15,23,42,.30);
    -webkit-backdrop-filter:blur(2px);
    backdrop-filter:blur(2px);
  }

  .site-header--mobile-template .header-right.is-open .nav-toggle{
    position:absolute;
    top:18px;
    right:18px;
    z-index:2;
    width:56px;
    height:56px;
    border-radius:18px;
    border:1px solid rgba(15,23,42,.08);
    background:var(--pst-mobile-drawer-close-bg, #eef2f7);
    color:var(--pst-mobile-drawer-close-icon, #0f172a);
    box-shadow:0 14px 28px rgba(15,23,42,.14);
  }

  .site-header--mobile-template .header-right.is-open .nav-toggle__icon span:nth-child(1){
    transform:translateY(8px) rotate(45deg);
  }

  .site-header--mobile-template .header-right.is-open .nav-toggle__icon span:nth-child(2){
    opacity:0;
  }

  .site-header--mobile-template .header-right.is-open .nav-toggle__icon span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
  }

  .site-header--mobile-template .header-right.is-open .main-nav{
    display:block;
    position:absolute;
    top:0;
    right:0;
    width:min(88vw, 372px);
    height:100dvh;
    padding:96px 20px 28px;
    background:var(--pst-mobile-drawer-bg, #f8fafc);
    border-left:1px solid rgba(15,23,42,.08);
    box-shadow:-24px 0 54px rgba(15,23,42,.16);
    overflow:auto;
  }

  .site-header--mobile-template .header-right.is-open .main-nav ul{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }

  .site-header--mobile-template .header-right.is-open .main-nav li{
    width:100%;
  }

  .site-header--mobile-template .header-right.is-open .main-nav a{
    display:block;
    width:100%;
    padding:16px 14px;
    border-radius:16px;
    background:transparent;
    color:var(--pst-mobile-drawer-text, #0f172a);
    font-size:18px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:-.01em;
    text-align:left;
    text-shadow:0 1px 0 var(--pst-mobile-drawer-text-shadow, transparent);
    transition:background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
  }

  .site-header--mobile-template .header-right.is-open .main-nav a:hover{
    background:var(--pst-mobile-drawer-active-bg, #e7edf4);
    color:var(--pst-mobile-drawer-active-text, #0b1220);
  }

  .site-header--mobile-template .header-right.is-open .main-nav .current-menu-item > a,
  .site-header--mobile-template .header-right.is-open .main-nav .current_page_item > a,
  .site-header--mobile-template .header-right.is-open .main-nav .current-menu-ancestor > a{
    background:var(--pst-mobile-drawer-active-bg, #e7edf4);
    color:var(--pst-mobile-drawer-active-text, #0b1220);
    box-shadow:inset 0 0 0 1px rgba(15,23,42,.04);
  }

}

.home .nav-page-bio,
.home .nav-page-gallery,
.home .nav-page-menu,
.home .nav-page-faq{
  background:var(--pst-home-services-bg, #edf2ee);
}

/* ==========================================================================
   homepage google reviews
   ========================================================================== */

.home-google-reviews{
  --pst-gr-bg:var(--pst-home-services-bg, #edf2ee);
  --pst-gr-title:#35511f;
  --pst-gr-text:#52606d;
  --pst-gr-strong:#18232d;
  --pst-gr-star:#f5b301;
  --pst-gr-card-bg:linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(248,250,247,.98) 100%);
  --pst-gr-card-border:rgba(24,35,45,.10);
  --pst-gr-arrow-color:#2f4a1d;
  --pst-gr-gap:20px;
  --pst-gr-nav-size:48px;
  padding:clamp(30px, 3vw, 44px) 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.03) 100%),
    var(--pst-gr-bg);
}


.home-google-reviews--inline{
  border-radius:28px;
  overflow:hidden;
}

.home-google-reviews--inline .home-google-reviews__inner{
  padding-inline:clamp(18px, 2.4vw, 28px);
}

.home-google-reviews__inner{
  width:100%;
}

.home-google-reviews__top{
  margin-bottom:20px;
}

.home-google-reviews__heading{
  min-width:0;
  max-width:100%;
}

.home-google-reviews__eyebrow{
  margin:0 0 10px;
  color:#6b8e23;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}


.home-google-reviews__title{
  margin:0;
  color:var(--pst-gr-title);
  font-size:clamp(30px, 4vw, 48px);
  line-height:1.06;
  letter-spacing:-.03em;
  text-wrap:balance;
}

.home-google-reviews__title-row{
  display:block;
}

.home-google-reviews__title-link{
  --pst-gr-arrow-color:var(--pst-gr-title);
  display:inline-flex;
  align-items:center;
  gap:40px;
  max-width:min(100%, 1100px);
  color:inherit;
  text-decoration:none;
}

.home-google-reviews__title-link:hover,
.home-google-reviews__title-link:focus-visible{
  text-decoration:none;
}

.home-google-reviews__title-link:focus-visible{
  outline:2px solid rgba(var(--pst-accent-rgb), .30);
  outline-offset:6px;
  border-radius:18px;
}

.home-google-reviews__title-cta{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding-top:10px;
  transform:translateX(6px);
}

.home-google-reviews__title-cta-icon{
  display:block;
  width:72px;
  height:72px;
  overflow:visible;
  color:var(--pst-gr-arrow-color);
  transform:translateX(0);
  transition:transform .55s cubic-bezier(.22,.65,.18,1);
}

.home-google-reviews__title-cta-ring{
  stroke:currentColor;
  stroke-width:1.8;
}

.home-google-reviews__title-cta-mark{
  transform-origin:36px 36px;
  transform:translate(0, 0) rotate(0deg);
  transition:transform .55s cubic-bezier(.22,.65,.18,1);
}

.home-google-reviews__title-cta-mark path{
  stroke:currentColor;
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media (hover:hover) and (pointer:fine){
  .home-google-reviews__title-link:hover .home-google-reviews__title-cta-icon,
  .home-google-reviews__title-link:focus-visible .home-google-reviews__title-cta-icon{
    transform:translateX(10px);
  }

  .home-google-reviews__title-link:hover .home-google-reviews__title-cta-mark,
  .home-google-reviews__title-link:focus-visible .home-google-reviews__title-cta-mark{
    transform:translate(6px, 0) rotate(45deg);
  }
}

.home-google-reviews__intro{
  width:min(100%, 760px);
  margin:14px 0 0;
  color:var(--pst-gr-text);
  font-size:16px;
  line-height:1.8;
}

.home-google-reviews__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px;
  margin-top:16px;
}

.home-google-reviews__meta-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(24,35,45,.08);
  color:var(--pst-gr-text);
  font-size:14px;
  line-height:1.2;
}

.home-google-reviews__meta-item strong{
  color:var(--pst-gr-strong);
  font-size:15px;
  line-height:1;
}

.home-google-reviews__slider{
  position:relative;
  margin-top:24px;
  padding-inline:calc(var(--pst-gr-nav-size) + 12px);
}

.home-google-reviews__viewport{
  overflow-x:auto;
  overflow-y:visible;
  scroll-behavior:smooth;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -ms-overflow-style:none;
}

.home-google-reviews__viewport::-webkit-scrollbar{
  display:none;
}


/* Reviews slider */
.home-google-reviews__track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - (var(--pst-gr-gap) * 3)) / 4);
  justify-content:start;
  gap:var(--pst-gr-gap);
  padding:6px 0 10px;
}


/* Reviews large desktop centering */
@media (min-width: 1440px){
  .home-google-reviews__slider.is-static .home-google-reviews__track{
    justify-content:center;
  }
}

.home-google-reviews__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:var(--pst-gr-nav-size);
  height:var(--pst-gr-nav-size);
  border:1px solid rgba(24,35,45,.12);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#0f172a;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 24px rgba(15,23,42,.10);
  cursor:pointer;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background-color .18s ease,
    opacity .18s ease;
}

.home-google-reviews__nav--prev{
  left:0;
}

.home-google-reviews__nav--next{
  right:0;
}

.home-google-reviews__nav svg{
  display:block;
  width:18px;
  height:18px;
}

.home-google-reviews__nav:hover:not(:disabled){
  transform:translateY(-50%) scale(1.03);
  background:#fff;
  box-shadow:0 16px 30px rgba(15,23,42,.12);
}

.home-google-reviews__nav:active:not(:disabled){
  transform:translateY(-50%) scale(.98);
}

.home-google-reviews__nav:focus-visible{
  outline:2px solid rgba(var(--pst-accent-rgb), .30);
  outline-offset:4px;
}

.home-google-reviews__nav:disabled{
  opacity:.38;
  cursor:default;
  box-shadow:none;
}

.home-google-reviews__nav[hidden]{
  display:none !important;
}

.home-google-reviews__card{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:100%;
  padding:24px 22px;
  border-radius:24px;
  background:var(--pst-gr-card-bg);
  border:1px solid var(--pst-gr-card-border);
  scroll-snap-align:start;
}

.home-google-reviews__card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.home-google-reviews__author-wrap{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  align-items:flex-start;
  gap:12px;
}

.home-google-reviews__avatar{
  width:46px;
  height:46px;
  flex:0 0 46px;
  border-radius:999px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg, #e7eef8 0%, #dbe7f5 100%);
  color:#1e3a8a;
  font-size:18px;
  font-weight:800;
}

.home-google-reviews__avatar--placeholder{
  line-height:1;
}

.home-google-reviews__author-meta{
  min-width:0;
  flex:1 1 auto;
  display:grid;
  gap:3px;
}

.home-google-reviews__author{
  color:var(--pst-gr-strong);
  font-size:15px;
  line-height:1.35;
  text-decoration:none;
  font-weight:800;
}

a.home-google-reviews__author:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

.home-google-reviews__time{
  color:#64748b;
  font-size:13px;
  line-height:1.4;
}

.home-google-reviews__stars{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:2px;
  flex:0 0 auto;
  color:var(--pst-gr-star);
  font-size:15px;
  letter-spacing:.02em;
  white-space:nowrap;
}

.home-google-reviews__text{
  color:var(--pst-gr-text);
  font-size:15px;
  line-height:1.78;
}

.home-google-reviews__text p{
  margin:0;
  overflow-wrap:anywhere;
}

.home-google-reviews__footer{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid rgba(203,213,225,.66);
}

.home-google-reviews__footer-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px;
}

.home-google-reviews__source,
.home-google-reviews__sorting{
  color:#64748b;
  font-size:13px;
  line-height:1.5;
}

.home-google-reviews__attributions{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
}

.home-google-reviews__attribution-item,
.home-google-reviews__attribution-item a{
  color:#64748b;
  font-size:12px;
  line-height:1.45;
}

@media (max-width: 1379px){
  .home-google-reviews__track{
    grid-auto-columns:calc((100% - (var(--pst-gr-gap) * 2)) / 3);
  }
}

@media (max-width: 991px){
  .home-google-reviews{
    --pst-gr-gap:18px;
    --pst-gr-nav-size:44px;
    padding:32px 0 36px;
  }

.home-google-reviews__title-link{
  align-items:center;
  gap:26px;
  max-width:100%;
}

.home-google-reviews__title{
  min-width:0;
  font-size:clamp(26px, 5vw, 38px);
}

.home-google-reviews__title-cta{
  padding-top:0;
  transform:translateX(2px);
}

.home-google-reviews__title-cta-icon{
  width:60px;
  height:60px;
}
  .home-google-reviews__slider{
    padding-inline:calc(var(--pst-gr-nav-size) + 10px);
  }

  .home-google-reviews__track{
    grid-auto-columns:calc((100% - var(--pst-gr-gap)) / 2);
  }

  .home-google-reviews__card{
    padding:22px 18px;
    border-radius:22px;
  }
}

@media (max-width: 767px){
  .home-google-reviews{
    --pst-gr-gap:16px;
    --pst-gr-nav-size:38px;
    padding:26px 0 30px;
  }

 /* Reviews mobile title */
.home-google-reviews__title-row{
  gap:8px;
  align-items:center;
}

.home-google-reviews__title-link{
  gap:12px;
  align-items:center;
}

.home-google-reviews__title{
  font-size:clamp(21px, 7.2vw, 29px);
  line-height:1.08;
  letter-spacing:-.02em;
}

.home-google-reviews__title-cta{
  padding-top:0;
  transform:none;
}

.home-google-reviews__title-cta-icon{
  width:48px;
  height:48px;
}

.home-google-reviews__title-arrow svg,
.home-google-reviews__title-arrow-image{
  width:48px;
  height:36px;
}


  .home-google-reviews__intro{
    font-size:15px;
    line-height:1.68;
  }

  .home-google-reviews__meta{
    gap:8px;
  }

  .home-google-reviews__meta-item{
    min-height:32px;
    padding:0 11px;
    font-size:12.5px;
  }

  .home-google-reviews__slider{
    margin-top:18px;
    padding-inline:calc(var(--pst-gr-nav-size) + 8px);
  }

  .home-google-reviews__track{
    grid-auto-columns:100%;
  }

  .home-google-reviews__card{
    padding:18px 15px;
    border-radius:20px;
  }

  .home-google-reviews__card-head{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }

  .home-google-reviews__author-wrap{
    width:100%;
    gap:10px;
  }

  .home-google-reviews__avatar{
    width:42px;
    height:42px;
    flex:0 0 42px;
    font-size:16px;
  }

  .home-google-reviews__author{
    font-size:14px;
  }

  .home-google-reviews__time{
    font-size:12.5px;
  }

  .home-google-reviews__stars{
    justify-content:flex-start;
    font-size:14px;
  }

  .home-google-reviews__text{
    font-size:14.5px;
    line-height:1.7;
  }

  .home-google-reviews__footer{
    margin-top:16px;
    padding-top:14px;
  }

  .home-google-reviews__footer-meta{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }

  .home-google-reviews__attributions{
    gap:6px 10px;
  }
}

@media (max-width: 479px){
  .home-google-reviews__nav{
    width:34px;
    height:34px;
  }

  .home-google-reviews__nav svg{
    width:16px;
    height:16px;
  }
}

/* =========================================
   NAVIGATION PAGE GALLERY / FAQ FINISH
   ========================================= */
.nav-page-gallery__inner,
.nav-page-faq__inner{
  width:min(100%, 1120px);
  margin:0 auto;
}

.nav-page-gallery__header,
.nav-page-faq__header{
  margin-bottom:28px;
}


.nav-page-gallery__grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.nav-page-gallery__item{
  min-width:0;
  border-radius:24px;
}

.nav-page-gallery__figure{
  margin:0;
  height:100%;
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(248,250,248,.98) 100%);
  border:1px solid rgba(203,213,225,.82);
  box-shadow:0 18px 36px rgba(15,23,42,.08);
}

.nav-page-gallery__media{
  position:relative;
  aspect-ratio:4 / 3;
  background:#eef3ef;
  overflow:hidden;
}

.nav-page-gallery__image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.nav-page-gallery__placeholder{
  width:100%;
  height:100%;
  border:2px dashed rgba(148,163,184,.85);
  background:linear-gradient(180deg, rgba(248,250,252,.96) 0%, rgba(241,245,249,.98) 100%);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  padding:22px;
  color:#64748b;
}

.nav-page-gallery__placeholder span{
  font-size:16px;
  font-weight:800;
  letter-spacing:.01em;
}

.nav-page-gallery__placeholder small{
  display:block;
  font-size:13px;
  line-height:1.55;
}

.nav-page-gallery__caption{
  margin:0;
  padding:14px 16px 16px;
  color:var(--pst-nav-page-content-text, #475569);
  font-size:14px;
  line-height:1.7;
}

/* FAQ */
.nav-page-faq__header{
  width:min(100%, 840px);
  margin:0 auto 34px;
}

.nav-page-faq__header .nav-page-section-title,
.nav-page-faq__header .nav-page-section-intro{
  width:100%;
  margin-left:auto;
  margin-right:auto;
}

.nav-page-faq__list{
  width:min(100%, 900px);
  margin:0 auto;
  display:grid;
  gap:12px;
}

.nav-page-faq__item{
  overflow:hidden;
  border:1px solid rgba(148,163,184,.34);
  border-radius:8px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 26px rgba(15,23,42,.055);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease, background-color .18s ease;
}

@media (hover:hover) and (pointer:fine){
  .nav-page-faq__item:hover{
    border-color:rgba(var(--pst-accent-rgb), .34);
    box-shadow:0 16px 34px rgba(15,23,42,.09);
    transform:translateY(-1px);
  }
}

.nav-page-faq__item[open]{
  border-color:rgba(var(--pst-accent-rgb), .38);
  border-color:color-mix(in srgb, var(--pst-nav-page-faq-active-color, var(--pst-nav-page-cta-bg, var(--pst-accent))) 38%, transparent);
  background:#fff;
  box-shadow:0 18px 38px rgba(15,23,42,.10);
}

.nav-page-faq__question{
  list-style:none;
  cursor:pointer;
  position:relative;
  margin:0;
  min-height:68px;
  padding:21px 76px 21px 24px;
  color:var(--pst-nav-page-title, #0f172a);
  font-size:17px;
  font-weight:800;
  line-height:1.45;
  letter-spacing:0;
  text-wrap:balance;
  overflow-wrap:anywhere;
  transition:color .18s ease, background-color .18s ease;
}

.nav-page-faq__item[open] .nav-page-faq__question{
  color:var(--pst-nav-page-faq-active-color, var(--pst-nav-page-cta-bg, var(--pst-accent)));
}

.nav-page-faq__question::-webkit-details-marker{
  display:none;
}

.nav-page-faq__question::marker{
  content:"";
}

.nav-page-faq__question::before,
.nav-page-faq__question::after{
  content:"";
  position:absolute;
  top:50%;
  right:22px;
  transform:translateY(-50%);
  transition:background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.nav-page-faq__question::before{
  width:34px;
  height:34px;
  border-radius:8px;
  border:1px solid rgba(203,213,225,.88);
  background:rgba(248,250,252,.92);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88);
}

.nav-page-faq__question::after{
  right:31px;
  width:16px;
  height:16px;
  background:
    linear-gradient(currentColor 0 0) center / 16px 2px no-repeat,
    linear-gradient(currentColor 0 0) center / 2px 16px no-repeat;
  color:var(--pst-nav-page-title, #0f172a);
}

@media (hover:hover) and (pointer:fine){
  .nav-page-faq__item:hover .nav-page-faq__question::before{
    border-color:rgba(var(--pst-accent-rgb), .34);
    background:rgba(var(--pst-accent-rgb), .08);
  }
}

.nav-page-faq__item[open] .nav-page-faq__question::before,
.nav-page-faq__item[open] .nav-page-faq__question::after{
  color:var(--pst-nav-page-faq-active-color, var(--pst-nav-page-cta-bg, var(--pst-accent)));
}

.nav-page-faq__item[open] .nav-page-faq__question::before{
  border-color:rgba(var(--pst-accent-rgb), .30);
  background:rgba(var(--pst-accent-rgb), .10);
  border-color:color-mix(in srgb, var(--pst-nav-page-faq-active-color, var(--pst-nav-page-cta-bg, var(--pst-accent))) 34%, transparent);
  background:color-mix(in srgb, var(--pst-nav-page-faq-active-color, var(--pst-nav-page-cta-bg, var(--pst-accent))) 12%, white);
}

.nav-page-faq__item[open] .nav-page-faq__question::after{
  background:
    linear-gradient(currentColor 0 0) center / 16px 2px no-repeat,
    linear-gradient(currentColor 0 0) center / 2px 0 no-repeat;
  transform:translateY(-50%) rotate(180deg);
}

.nav-page-faq__question:focus-visible{
  outline:3px solid rgba(var(--pst-accent-rgb), .24);
  outline-offset:-6px;
}

.nav-page-faq__answer{
  padding:0 24px 24px;
  border-top:1px solid rgba(226,232,240,.86);
  color:var(--pst-nav-page-faq-answer-color, var(--pst-nav-page-content-text, #475569));
  font-size:15.5px;
  line-height:1.78;
  animation:pst-faq-answer-in .18s ease both;
}

.nav-page-faq__answer > *:first-child{
  margin-top:18px;
}

.nav-page-faq__answer > *:last-child{
  margin-bottom:0;
}

@keyframes pst-faq-answer-in{
  from{
    opacity:.72;
    transform:translateY(-4px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@media (prefers-reduced-motion: reduce){
  .nav-page-faq__item,
  .nav-page-faq__question,
  .nav-page-faq__question::before,
  .nav-page-faq__question::after,
  .nav-page-faq__answer{
    animation:none;
    transition:none;
  }
}

@media (max-width: 991px){
  .nav-page-gallery__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px){
  .nav-page-gallery__header,
  .nav-page-faq__header{
    margin-bottom:22px;
  }

  .nav-page-gallery__figure{
    border-radius:20px;
  }

  .nav-page-gallery__caption{
    padding:13px 14px 15px;
    font-size:13.5px;
    line-height:1.65;
  }

  .nav-page-faq__list{
    width:100%;
    gap:10px;
  }

  .nav-page-faq__item{
    border-radius:8px;
  }

  .nav-page-faq__question{
    min-height:62px;
    padding:18px 62px 18px 18px;
    font-size:16px;
    line-height:1.42;
  }

  .nav-page-faq__question::before{
    right:16px;
    width:30px;
    height:30px;
  }

  .nav-page-faq__question::after{
    right:23px;
    width:16px;
    height:16px;
  }

  .nav-page-faq__answer{
    padding:0 18px 18px;
    font-size:15px;
    line-height:1.74;
  }

  .nav-page-faq__answer > *:first-child{
    margin-top:14px;
  }
}

@media (max-width: 640px){
  .nav-page-gallery__grid{
    grid-template-columns:1fr;
  }

  .nav-page-gallery__media{
    aspect-ratio:4 / 3;
  }

  .nav-page-gallery__placeholder{
    padding:18px;
  }

  .nav-page-gallery__placeholder span{
    font-size:15px;
  }

  .nav-page-gallery__placeholder small{
    font-size:12.5px;
  }

  .nav-page-faq__header{
    margin-bottom:18px;
  }

  .nav-page-faq__question{
    min-height:58px;
    padding:16px 56px 16px 16px;
    font-size:15.5px;
  }

  .nav-page-faq__question::before{
    right:14px;
    width:28px;
    height:28px;
  }

  .nav-page-faq__question::after{
    right:20px;
  }

  .nav-page-faq__answer{
    padding:0 16px 16px;
    font-size:14.75px;
    line-height:1.72;
  }
}

/* =========================================
   NAVIGATION PAGE MULTI-LAYOUT / TITLE MEDIA
   ========================================= */
.nav-page-hero__media{
  width:min(100%, 920px);
  margin:24px auto 0;
  border-radius:8px;
  overflow:hidden;
  border:1px solid rgba(203,213,225,.84);
  background:linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(248,250,248,.98) 100%);
  box-shadow:0 16px 34px rgba(15,23,42,.10);
}

.nav-page-hero__media-image{
  display:block;
  width:100%;
  aspect-ratio:14 / 5;
  object-fit:cover;
}

.nav-page-hero__media-placeholder{
  aspect-ratio:14 / 5;
  width:100%;
  border:2px dashed rgba(148,163,184,.82);
  background:linear-gradient(180deg, rgba(248,250,252,.96) 0%, rgba(241,245,249,.98) 100%);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:22px;
  text-align:center;
  color:#64748b;
}

.nav-page-hero__media-placeholder span{
  font-size:16px;
  font-weight:800;
}

.nav-page-hero__media-placeholder small{
  display:block;
  font-size:13px;
  line-height:1.6;
}

.pst-nav-page-has-default .nav-page-content--default + section,
.pst-nav-page-has-bio .nav-page-bio + section,
.pst-nav-page-has-gallery .nav-page-gallery + section,
.pst-nav-page-has-faq .nav-page-faq + section,
.pst-nav-page-has-contact .nav-page-contact-flow + section{
  padding-top:0;
}

@media (max-width: 768px){
  .nav-page-hero__media{
    margin-top:16px;
    border-radius:8px;
  }

  .nav-page-hero__media-image,
  .nav-page-hero__media-placeholder{
    aspect-ratio:16 / 9;
  }

  .nav-page-hero__media-placeholder{
    padding:18px;
  }

  .nav-page-hero__media-placeholder span{
    font-size:15px;
  }

  .nav-page-hero__media-placeholder small{
    font-size:12.5px;
  }
}

/* =========================================
   HOMEPAGE / CONTACT EXTENSION SECTIONS
   ========================================= */
.home-services + .nav-page-bio,
.home-services + .nav-page-gallery,
.home-services + .nav-page-faq{
  padding-top: 18px;
}

.nav-page-contact-flow + .nav-page-bio,
.nav-page-contact-flow + .nav-page-gallery,
.nav-page-contact-flow + .nav-page-faq{
  padding-top: 18px;
}

@media (max-width: 640px){
  .home-services + .nav-page-bio,
  .home-services + .nav-page-gallery,
  .home-services + .nav-page-faq,
  .nav-page-contact-flow + .nav-page-bio,
  .nav-page-contact-flow + .nav-page-gallery,
  .nav-page-contact-flow + .nav-page-faq{
    padding-top: 8px;
  }
}

/* =========================================
   NAVIGATION PAGE PICTURES
   ========================================= */
.pst-nav-page-has-pictures .nav-page-pictures + section{
  padding-top:0;
}

.home-services + .nav-page-pictures,
.nav-page-contact-flow + .nav-page-pictures{
  padding-top:18px;
}

.nav-page-pictures{
  padding:10px 0 64px;
}

.nav-page-pictures__stack{
  width:min(100%, 1120px);
  margin:0 auto;
  display:grid;
  gap:28px;
}

.nav-page-pictures__item{
  display:grid;
  gap:14px;
}

.nav-page-pictures__item--portrait{
  width:min(100%, 760px);
  margin:0 auto;
}

.nav-page-pictures__media{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(203,213,225,.82);
  border-radius:26px;
  background:var(--pst-nav-page-content-panel-bg, #ffffff);
  box-shadow:0 18px 40px rgba(15,23,42,.08);
}

.nav-page-pictures__media--png{
  border:0;
  background:transparent;
  box-shadow:none;
}

.nav-page-pictures__media--landscape{
  aspect-ratio:5 / 3;
}

.nav-page-pictures__media--portrait{
  aspect-ratio:4 / 5;
}

.nav-page-pictures__image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.nav-page-pictures__image--png{
  border:0;
  background:transparent;
}

.nav-page-pictures__placeholder{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:24px;
  text-align:center;
  color:#64748b;
  border:2px dashed rgba(148,163,184,.82);
  background:linear-gradient(180deg, rgba(248,250,252,.96) 0%, rgba(241,245,249,.98) 100%);
}

.nav-page-pictures__placeholder span{
  font-size:16px;
  font-weight:800;
}

.nav-page-pictures__placeholder small{
  font-size:13px;
  line-height:1.6;
}

.nav-page-pictures__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
}

.nav-page-pictures__inside{
  position:absolute;
  left:0;
  right:0;
  z-index:2;
  display:grid;
  gap:10px;
  padding:18px 20px;
}

.nav-page-pictures__inside--top{
  top:0;
}

.nav-page-pictures__inside--center{
  top:50%;
  transform:translateY(-50%);
}

.nav-page-pictures__inside--bottom{
  bottom:0;
}

.nav-page-pictures__title{
  margin:0;
  color:#000000;
  line-height:1.14;
  letter-spacing:-.02em;
  text-wrap:balance;
}

.nav-page-pictures__title--above{
  font-size:clamp(24px, 3vw, 34px);
}

.nav-page-pictures__title--inside{
  font-size:clamp(22px, 2.8vw, 32px);
  text-shadow:0 2px 18px rgba(0,0,0,.22);
}

.nav-page-pictures__description{
  margin:0;
  color:#000000;
  font-size:16px;
  line-height:1.76;
}

.nav-page-pictures__description--inside{
  text-shadow:0 2px 18px rgba(0,0,0,.22);
}

.nav-page-pictures__description--below{
  padding:0 2px;
}

@media (max-width: 768px){
  .home-services + .nav-page-pictures,
  .nav-page-contact-flow + .nav-page-pictures{
    padding-top:12px;
  }

  .nav-page-pictures{
    padding-bottom:42px;
  }

  .nav-page-pictures__stack{
    gap:22px;
  }

  .nav-page-pictures__media{
    border-radius:22px;
  }

  .nav-page-pictures__inside{
    padding:16px 16px 14px;
  }

  .nav-page-pictures__description{
    font-size:15.5px;
    line-height:1.72;
  }
}

@media (max-width: 640px){
  .nav-page-pictures__item--portrait{
    width:100%;
  }

  .nav-page-pictures__media{
    border-radius:20px;
  }

  .nav-page-pictures__title--above{
    font-size:clamp(22px, 7vw, 28px);
  }

  .nav-page-pictures__title--inside{
    font-size:clamp(21px, 6.6vw, 27px);
  }

  .nav-page-pictures__placeholder{
    padding:18px;
  }

  .nav-page-pictures__placeholder span{
    font-size:15px;
  }

  .nav-page-pictures__placeholder small{
    font-size:12.5px;
  }
}

/* =========================================
   NAVIGATION PAGE MENU / CAFETERIA CATALOG
   ========================================= */

.pst-nav-page-has-menu .nav-page-menu + section{
  padding-top:0;
}

.home-services + .nav-page-menu,
.nav-page-contact-flow + .nav-page-menu{
  padding-top:18px;
}

.nav-page-menu{
  padding:10px 0 64px;
}

.nav-page-menu__inner{
  width:min(100%, 1120px);
  margin:0 auto;
}

.nav-page-menu__header{
  margin-bottom:24px;
}

.nav-page-menu--portrait{
  --pst-menu-card-max:420px;
  --pst-menu-ratio:2 / 3;
  --pst-menu-deck-h:clamp(460px, 64vw, 790px);
  --pst-menu-media-h-fallback:clamp(360px, 56vw, 640px);
}

.nav-page-menu--landscape{
  --pst-menu-card-max:760px;
  --pst-menu-ratio:3 / 2;
  --pst-menu-deck-h:clamp(330px, 44vw, 560px);
  --pst-menu-media-h-fallback:clamp(250px, 36vw, 500px);
}

.nav-page-menu__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.nav-page-menu__item{
  min-width:0;
}

.nav-page-menu__card{
  display:flex;
  flex-direction:column;
  height:auto;
  border:1px solid rgba(203,213,225,.82);
  border-radius:26px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,250,252,.98) 100%);
  box-shadow:0 20px 44px rgba(15,23,42,.10);
}

.nav-page-menu__media-shell{
  position:relative;
  flex:0 0 auto;
  width:100%;
  aspect-ratio:var(--pst-menu-ratio);
  overflow:hidden;
  background:#f8fafc;
}

.nav-page-menu__image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.nav-page-menu__placeholder{
  width:100%;
  height:100%;
  border:2px dashed rgba(148,163,184,.82);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.86) 0%, rgba(255,255,255,0) 32%),
    linear-gradient(160deg, rgba(248,250,252,.96) 0%, rgba(241,245,249,.98) 100%);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:26px;
  text-align:center;
  color:#475569;
}

.nav-page-menu__slide:nth-child(6n+1) .nav-page-menu__placeholder,
.nav-page-menu__grid .nav-page-menu__item:nth-child(6n+1) .nav-page-menu__placeholder{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.9) 0%, rgba(255,255,255,0) 34%),
    linear-gradient(160deg, rgba(239,246,255,.98) 0%, rgba(224,242,254,.98) 100%);
}

.nav-page-menu__slide:nth-child(6n+2) .nav-page-menu__placeholder,
.nav-page-menu__grid .nav-page-menu__item:nth-child(6n+2) .nav-page-menu__placeholder{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.9) 0%, rgba(255,255,255,0) 34%),
    linear-gradient(160deg, rgba(250,245,255,.98) 0%, rgba(243,232,255,.98) 100%);
}

.nav-page-menu__slide:nth-child(6n+3) .nav-page-menu__placeholder,
.nav-page-menu__grid .nav-page-menu__item:nth-child(6n+3) .nav-page-menu__placeholder{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.9) 0%, rgba(255,255,255,0) 34%),
    linear-gradient(160deg, rgba(255,247,237,.98) 0%, rgba(254,235,200,.98) 100%);
}

.nav-page-menu__slide:nth-child(6n+4) .nav-page-menu__placeholder,
.nav-page-menu__grid .nav-page-menu__item:nth-child(6n+4) .nav-page-menu__placeholder{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.9) 0%, rgba(255,255,255,0) 34%),
    linear-gradient(160deg, rgba(240,253,244,.98) 0%, rgba(220,252,231,.98) 100%);
}

.nav-page-menu__slide:nth-child(6n+5) .nav-page-menu__placeholder,
.nav-page-menu__grid .nav-page-menu__item:nth-child(6n+5) .nav-page-menu__placeholder{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.9) 0%, rgba(255,255,255,0) 34%),
    linear-gradient(160deg, rgba(255,251,235,.98) 0%, rgba(254,243,199,.98) 100%);
}

.nav-page-menu__slide:nth-child(6n) .nav-page-menu__placeholder,
.nav-page-menu__grid .nav-page-menu__item:nth-child(6n) .nav-page-menu__placeholder{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.9) 0%, rgba(255,255,255,0) 34%),
    linear-gradient(160deg, rgba(245,243,255,.98) 0%, rgba(233,213,255,.98) 100%);
}

.nav-page-menu__placeholder-title{
  display:block;
  font-size:20px;
  font-weight:800;
  line-height:1.2;
  color:#0f172a;
}

.nav-page-menu__placeholder-note,
.nav-page-menu__placeholder-dims{
  display:block;
  font-size:13px;
  line-height:1.6;
}

.nav-page-menu__card-copy{
  flex:0 0 auto;
  padding:16px 18px 18px;
  border-top:1px solid rgba(226,232,240,.9);
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,250,252,.98) 100%);
}

.nav-page-menu__card-copy strong{
  display:block;
  margin:0 0 6px;
  font-size:16px;
  line-height:1.3;
  color:#0f172a;
}

.nav-page-menu__card-copy p{
  margin:0;
  color:#64748b;
  line-height:1.65;
  font-size:14px;
}

.nav-page-menu__slider{
  position:relative;
  --pst-menu-active-width:var(--pst-menu-card-max);
  --pst-menu-media-height:var(--pst-menu-media-h-fallback);
  --pst-menu-arrow-gap:26px;
  --pst-menu-dots-bottom:18px;
}

.nav-page-menu__slider:focus-visible{
  outline:2px solid rgba(37,99,235,.18);
  outline-offset:4px;
}

.nav-page-menu__deck{
  position:relative;
  height:var(--pst-menu-deck-h);
  perspective:1800px;
  overflow:visible;
  transition:height .24s ease;
}

.nav-page-menu__slide{
  position:absolute;
  top:0;
  left:0;
  right:0;
  width:min(100%, var(--pst-menu-card-max));
  margin:0 auto;
  transition:
    transform .58s cubic-bezier(.22,.8,.24,1),
    opacity .42s ease,
    filter .42s ease,
    box-shadow .42s ease;
  transform-origin:center center;
  opacity:0;
  pointer-events:none;
}

.nav-page-menu__slide .nav-page-menu__card{
  position:relative;
}

.nav-page-menu__deck:not(.is-ready) .nav-page-menu__slide:first-child{
  transform:translateX(0) rotateY(0deg) scale(1);
  opacity:1;
  z-index:5;
  pointer-events:auto;
}

.nav-page-menu__slide.is-active{
  transform:translateX(0) rotateY(0deg) scale(1);
  opacity:1;
  z-index:5;
  pointer-events:auto;
}

.nav-page-menu__slide.is-prev{
  transform:translateX(-34%) rotateY(14deg) scale(.92);
  opacity:.5;
  z-index:3;
  filter:saturate(.9);
}

.nav-page-menu__slide.is-next{
  transform:translateX(34%) rotateY(-14deg) scale(.92);
  opacity:.5;
  z-index:3;
  filter:saturate(.9);
}

.nav-page-menu__slide.is-before{
  transform:translateX(-52%) rotateY(22deg) scale(.88);
  opacity:0;
  z-index:1;
}

.nav-page-menu__slide.is-after{
  transform:translateX(52%) rotateY(-22deg) scale(.88);
  opacity:0;
  z-index:1;
}

.nav-page-menu__controls{
  position:absolute;
  inset:0;
  z-index:9;
  pointer-events:none;
}

.nav-page-menu__nav-btn{
  position:absolute;
  top:calc(var(--pst-menu-media-height) / 2);
  transform:translateY(-50%);
  pointer-events:auto;
  width:48px;
  height:48px;
  border:1px solid rgba(203,213,225,.95);
  border-radius:999px;
  background:#ffffff;
  color:#0f172a;
  font:inherit;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 14px 28px rgba(15,23,42,.08);
  transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.nav-page-menu__nav-btn--prev{
  left:max(12px, calc(50% - (var(--pst-menu-card-max) / 2) - 128px));
}

.nav-page-menu__nav-btn--next{
  right:max(12px, calc(50% - (var(--pst-menu-card-max) / 2) - 128px));
}

.nav-page-menu__nav-btn:hover{
  transform:translateY(-50%) scale(1.03);
  box-shadow:0 18px 34px rgba(15,23,42,.10);
}

.nav-page-menu__dots{
  position:absolute;
  left:50%;
  bottom:var(--pst-menu-dots-bottom);
  transform:translateX(-50%);
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  flex-wrap:nowrap;
  padding:9px 13px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(203,213,225,.78);
  border-radius:999px;
  box-shadow:0 12px 28px rgba(15,23,42,.10);
  backdrop-filter:blur(8px);
}

.nav-page-menu__slide .nav-page-menu__dots{
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}

.nav-page-menu__deck:not(.is-ready) .nav-page-menu__slide:first-child .nav-page-menu__dots,
.nav-page-menu__slide.is-active .nav-page-menu__dots{
  opacity:1;
  pointer-events:auto;
}

.nav-page-menu__dot{
  width:11px;
  height:11px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(148,163,184,.92);
  cursor:pointer;
  transition:transform .16s ease, background-color .16s ease, opacity .16s ease;
}

.nav-page-menu__dot:hover{
  transform:scale(1.08);
}

.nav-page-menu__dot.is-active{
  background:#0f172a;
  transform:scale(1.18);
}

@media (max-width: 991px){
  .nav-page-menu__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .nav-page-menu__slider{
    --pst-menu-arrow-gap:18px;
  }

  .nav-page-menu__slide.is-prev{
    transform:translateX(-24%) rotateY(10deg) scale(.94);
  }

  .nav-page-menu__slide.is-next{
    transform:translateX(24%) rotateY(-10deg) scale(.94);
  }
}

@media (max-width: 768px){
  .nav-page-menu{
    padding-bottom:24px;
  }

  .nav-page-menu__header{
    margin-bottom:22px;
  }

  .nav-page-menu--portrait{
    --pst-menu-card-max:380px;
    --pst-menu-deck-h:clamp(560px, 152vw, 760px);
    --pst-menu-media-h-fallback:clamp(420px, 114vw, 620px);
  }

  .nav-page-menu--landscape{
    --pst-menu-card-max:100%;
    --pst-menu-deck-h:clamp(320px, 92vw, 500px);
    --pst-menu-media-h-fallback:clamp(240px, 72vw, 420px);
  }

  .nav-page-menu__deck{
    overflow:hidden;
    padding:0 10px;
  }

  .nav-page-menu__slide{
    width:min(calc(100% - 20px), var(--pst-menu-card-max));
  }

  .nav-page-menu__slide.is-prev,
  .nav-page-menu__slide.is-next{
    opacity:.12;
    transform:translateX(0) scale(.96);
  }

  .nav-page-menu__nav-btn{
    display:none;
  }

  .nav-page-menu__slider{
    --pst-menu-dots-bottom:16px;
  }

  .nav-page-menu__dots{
    gap:8px;
    padding:8px 12px;
  }

  .nav-page-menu__dot{
    width:11px;
    height:11px;
  }
}

@media (max-width: 640px){
  .home-services + .nav-page-menu,
  .nav-page-contact-flow + .nav-page-menu{
    padding-top:8px;
  }

  .nav-page-menu{
    padding-bottom:18px;
  }

  .nav-page-menu__grid{
    grid-template-columns:1fr;
  }

  .nav-page-menu__placeholder{
    padding:22px;
  }

  .nav-page-menu__placeholder-title{
    font-size:18px;
  }

  .nav-page-menu__card-copy{
    padding:14px 15px 16px;
  }

  .nav-page-menu__card-copy strong{
    font-size:15px;
  }

  .nav-page-menu__card-copy p{
    font-size:14px;
    line-height:1.6;
  }

  .nav-page-menu__deck{
    padding:0 8px;
  }

  .nav-page-menu__slide{
    width:min(calc(100% - 16px), var(--pst-menu-card-max));
  }

  .nav-page-menu__slider{
    --pst-menu-dots-bottom:14px;
  }

  .nav-page-menu__dots{
    gap:7px;
    padding:8px 11px;
  }

  .nav-page-menu__dot{
    width:10px;
    height:10px;
  }
}

@media (prefers-reduced-motion: reduce){
  .nav-page-menu__slide,
  .nav-page-menu__nav-btn,
  .nav-page-menu__dot,
  .pst-menu-lightbox__dialog{
    transition:none;
  }
}

/* =========================================
   DESKTOP WIDTH TUNING
   Homepage Services + Navigation Hero
   ========================================= */

@media (min-width: 981px){
  /* Homepage Services:
     άπλωσε το κείμενο πιο κοντά στις άκρες
     για να μικρύνει το ύψος του λευκού content area */
  .home-service__content{
    padding:26px clamp(20px, 2vw, 30px) 22px;
  }

  .home-service__content-inner{
    width:100%;
  }

  .home-service__text{
    max-width:none;
    font-size:20px;
    line-height:1.68;
  }
}

@media (min-width: 769px){
  /* Navigation Pages hero:
     άνοιξε λίγο το panel και το intro width */
  .nav-page-hero__panel{
  width:min(100%, 1080px);
  margin-left:auto;
  margin-right:auto;
  padding:44px 44px 46px;
}

  .nav-page-hero__intro{
  width:min(100%, 960px);
  margin-left:auto;
  margin-right:auto;
}

}

/* Narrow mobile header container fix */
@media (max-width: 370px){
  .site-header--mobile-template .header-shell > .container{
    width:calc(100% - 10px);
  }
}

/* =========================================
   FRONTEND STABILITY PASS
   hero rhythm + trust strip centering + early normal-header drawer
   ========================================= */

/* Hero vertical rhythm */
.hero-v2__content > h1{
  margin:0 0 10px;
}

.hero-v2__text{
  margin:0;
}

.hero-v2__text > *{
  margin:0;
}

.hero-v2__text p{
  margin:0;
}



/* ==========================================================================
   intermediate header clean reset
   641px–1250px:
   top row = compact info bar
   second row = header-main-row
   brand + menu centered INSIDE header-main-row
   ========================================================================== */

.header-compact-bar{
  display:none;
}

.header-main-row{
  display:contents;
}

@media (min-width: 1341px){
  .site-header{
    --pst-desktop-header-row-h:84px;
  }

  .site-header .header-mobile-top{
    display:none !important;
  }

  .site-header .header-compact-bar{
    display:block !important;
    --pst-header-compact-bar-h:44px;
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    height:var(--pst-header-compact-bar-h);
    margin-bottom:calc(-1 * var(--pst-header-compact-bar-h));
    opacity:0;
    pointer-events:none;
    transform:translateY(-10px);
    overflow:hidden;
    background-color:var(--pst-header-compact-bar-bg, transparent);
    color:var(--pst-header-compact-bar-text, #d1d5db);
    transition:
      margin-bottom .24s ease,
      opacity .18s ease,
      transform .18s ease,
      background-color .18s ease;
  }

  .site-header .header-compact-bar::before{
    display:none;
  }

  .site-header.is-scrolled .header-compact-bar{
    margin-bottom:0;
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
    background-color:var(--pst-header-compact-bar-scroll-bg, #000);
  }

  .site-header:not(.site-header--front-page) .header-compact-bar{
    margin-bottom:0;
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
    background-color:var(--pst-header-compact-bar-scroll-bg, #000);
  }

  .site-header .header-compact-bar__inner{
    width:min(1440px, calc(100% - 32px));
    min-height:var(--pst-header-compact-bar-h);
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:2px 12px;
    padding:0;
    text-align:center;
  }

  .site-header .header-compact-bar__item{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:44px;
    padding:0;
    color:inherit;
    text-decoration:none;
    font-size:14px;
    line-height:1.12;
    white-space:nowrap;
    opacity:1;
  }

  .site-header .header-compact-bar__item + .header-compact-bar__item{
    margin-left:0;
    padding-left:10px;
    border-left:1px solid rgba(255,255,255,.14);
  }

  .site-header .header-compact-bar__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:16px;
    height:16px;
    flex:0 0 16px;
    font-size:0;
  }

  .site-header .header-compact-bar__icon .pst-meta-icon{
    width:16px;
    height:16px;
    display:block;
  }

  .site-header .header-compact-bar__icon .pst-instagram-icon{
    width:16px;
    height:16px;
  }

  .site-header .header-compact-bar__icon .pst-meta-icon path,
  .site-header .header-compact-bar__icon .pst-meta-icon rect,
  .site-header .header-compact-bar__icon .pst-meta-icon circle{
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .site-header .header-compact-bar__item[href^="tel:"] .pst-meta-icon path:first-child{
    fill:#ef4444;
    stroke:#000;
  }

  .site-header .header-compact-bar__item[href^="mailto:"] .pst-meta-icon path:first-child{
    fill:#fff;
    stroke:#000;
  }

  .site-header .header-compact-bar__item[href^="mailto:"] .pst-meta-icon path:last-child{
    fill:none;
    stroke:#000;
  }

  .site-header .header-compact-bar__item--instagram .pst-meta-icon rect{
    fill:#ef4444;
    stroke:#000;
  }

  .site-header .header-compact-bar__item--instagram .pst-meta-icon circle:first-of-type{
    fill:#fff;
    stroke:#000;
  }

  .site-header .header-compact-bar__item--instagram .pst-meta-icon circle:last-child{
    fill:#111;
    stroke:none;
  }

  .site-header .header-compact-bar__item .pst-pin-shell{
    fill:#ef4444;
    stroke:none;
  }

  .site-header .header-compact-bar__item .pst-pin-center{
    fill:#111;
    stroke:none;
  }

  .site-header .header-compact-bar__item--extra .pst-meta-icon path,
  .site-header .header-compact-bar__item--extra .pst-meta-icon circle{
    stroke:currentColor;
    fill:none;
  }

  .site-header .header-shell__inner{
    min-height:auto;
    height:auto !important;
    display:block;
    padding-top:0;
    padding-bottom:0;
  }

  .site-header.site-header--front-page:not(.is-scrolled) .header-shell__inner{
    max-width:none;
    width:min(1760px, calc(100% - 96px));
  }

  .site-header .header-main-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:26px;
    min-height:var(--pst-desktop-header-row-h);
    padding:0;
    background-color:var(--pst-header-main-row-bg, transparent);
    transition:
      background-color .18s ease,
      min-height .22s ease,
      padding .22s ease;
  }

  .site-header.is-scrolled .header-main-row{
    background-color:var(--pst-header-main-row-scroll-bg, transparent);
  }

  .site-header .header-brand{
    --pst-desktop-brand-gap:18px;
    --pst-desktop-meta-offset:calc(var(--pst-desktop-header-row-h) + var(--pst-desktop-brand-gap));
    flex:1 1 auto;
    min-width:0;
    max-width:min(60%, 900px);
    align-items:flex-start !important;
    gap:var(--pst-desktop-brand-gap);
  }

  .site-header .brand__logo-link{
    align-self:flex-start !important;
    flex-basis:var(--pst-desktop-header-row-h);
    width:var(--pst-desktop-header-row-h);
    height:var(--pst-desktop-header-row-h);
  }

  .site-header .brand__logo,
  .site-header .brand__logo-placeholder{
    width:var(--pst-desktop-header-row-h);
    height:var(--pst-desktop-header-row-h);
  }

  .site-header .brand__stack{
    flex:1 1 auto;
    min-width:0;
    align-items:flex-start;
    justify-content:flex-start;
    gap:0;
    padding-top:0;
    display:grid;
    grid-template-rows:minmax(var(--pst-desktop-header-row-h), auto) auto;
    align-content:start;
  }

  .site-header .brand__titles{
    align-self:stretch;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:6px;
    min-height:var(--pst-desktop-header-row-h);
  }

  .site-header .brand__text{
    font-size:clamp(24px, 1.9vw, 32px);
    line-height:1.04;
  }

  .site-header .brand__subtitle{
    display:block;
    font-size:clamp(20px, 1.55vw, 26px);
    line-height:1.06;
    font-weight:700;
  }

  .site-header .brand__meta{
    width:calc(100% + var(--pst-desktop-meta-offset));
    margin-left:calc(-1 * var(--pst-desktop-meta-offset));
    margin-top:6px;
    gap:12px 20px;
    align-items:center;
    max-height:72px;
    overflow:hidden;
    opacity:1;
    transition:
      max-height .22s ease,
      opacity .18s ease,
      margin-top .18s ease;
  }

  .site-header:not(.site-header--front-page) .brand__meta{
    max-height:0;
    opacity:0;
    margin-top:0;
    pointer-events:none;
  }

  .site-header .header-contact-item,
  .site-header .header-contact-item--text{
    font-size:17px;
    line-height:1.22;
  }

  .site-header .brand__meta .header-contact-item,
  .site-header .brand__meta .header-contact-item--text{
    color:#fff;
  }

  .site-header .brand__meta .header-contact-item:hover,
  .site-header .brand__meta .header-contact-item:focus-visible{
    color:var(--pst-on-dark-muted);
    opacity:1;
  }

  .site-header .brand__meta .header-contact-item__icon .pst-meta-icon path,
  .site-header .brand__meta .header-contact-item__icon .pst-meta-icon rect,
  .site-header .brand__meta .header-contact-item__icon .pst-meta-icon circle{
    stroke:#000;
  }

  .site-header .brand__meta .header-contact-item--phone .pst-meta-icon path:first-child,
  .site-header .brand__meta .header-contact-item--phone:hover .pst-meta-icon path:first-child,
  .site-header .brand__meta .header-contact-item--phone:focus-visible .pst-meta-icon path:first-child{
    fill:#ef4444;
  }

  .site-header .brand__meta .header-contact-item--email .pst-meta-icon path:first-child,
  .site-header .brand__meta .header-contact-item--email:hover .pst-meta-icon path:first-child,
  .site-header .brand__meta .header-contact-item--email:focus-visible .pst-meta-icon path:first-child{
    fill:#fff;
  }

  .site-header .brand__meta .header-contact-item--email .pst-meta-icon path:last-child{
    fill:none;
    stroke:#000;
  }

  .site-header .brand__meta .header-contact-item--email:hover .pst-meta-icon path:last-child,
  .site-header .brand__meta .header-contact-item--email:focus-visible .pst-meta-icon path:last-child{
    fill:none;
    stroke:#000;
  }

  .site-header .brand__meta .header-contact-item--instagram .pst-meta-icon rect,
  .site-header .brand__meta .header-contact-item--instagram:hover .pst-meta-icon rect,
  .site-header .brand__meta .header-contact-item--instagram:focus-visible .pst-meta-icon rect{
    fill:#ef4444;
    stroke:#000;
  }

  .site-header .brand__meta .header-contact-item--instagram .pst-meta-icon circle:first-of-type,
  .site-header .brand__meta .header-contact-item--instagram:hover .pst-meta-icon circle:first-of-type,
  .site-header .brand__meta .header-contact-item--instagram:focus-visible .pst-meta-icon circle:first-of-type{
    fill:#fff;
    stroke:#000;
  }

  .site-header .brand__meta .header-contact-item--instagram .pst-meta-icon circle:last-child,
  .site-header .brand__meta .header-contact-item--instagram:hover .pst-meta-icon circle:last-child,
  .site-header .brand__meta .header-contact-item--instagram:focus-visible .pst-meta-icon circle:last-child{
    fill:#111;
    stroke:none;
  }

  .site-header .brand__meta .header-contact-item--address .pst-pin-shell,
  .site-header .brand__meta .header-contact-item--address:hover .pst-pin-shell,
  .site-header .brand__meta .header-contact-item--address:focus-visible .pst-pin-shell{
    fill:#ef4444;
  }

  .site-header .brand__meta .header-contact-item--address .pst-pin-center,
  .site-header .brand__meta .header-contact-item--address:hover .pst-pin-center,
  .site-header .brand__meta .header-contact-item--address:focus-visible .pst-pin-center{
    fill:#111;
  }

  .site-header .header-contact-item--address span:last-child{
    max-width:240px;
  }

  .site-header .header-right{
    flex:0 1 auto;
    align-items:flex-start;
    align-self:flex-start;
    padding-top:18px;
    transition:padding-top .22s ease;
  }

  .site-header .header-right .main-nav ul{
    flex-wrap:nowrap;
    gap:0 8px;
  }

  .site-header .header-right .main-nav #primary-menu-list > li > a{
    font-size:18px;
    padding:12px 16px;
    min-height:44px;
    white-space:nowrap;
  }

  @media (max-width: 1760px){
    .site-header.site-header--front-page:not(.is-scrolled) .header-right .main-nav ul{
      gap:0 4px;
    }

    .site-header.site-header--front-page:not(.is-scrolled) .header-right .main-nav #primary-menu-list > li > a{
      font-size:17px;
      padding-inline:12px;
    }
  }

  .site-header.is-scrolled .brand__meta{
    max-height:0;
    opacity:0;
    margin-top:0;
    pointer-events:none;
  }

  .site-header.is-scrolled .header-main-row{
    min-height:var(--pst-desktop-header-row-h);
    padding:0;
    align-items:center;
  }

  .site-header.is-scrolled .header-brand{
    align-items:center !important;
  }

  .site-header.is-scrolled .brand__logo-link{
    align-self:center !important;
  }

  .site-header.is-scrolled .brand__stack{
    align-self:center;
  }

  .site-header.is-scrolled .brand__titles{
    min-height:var(--pst-desktop-header-row-h);
  }

  .site-header.is-scrolled .header-right{
    align-self:center;
    padding-top:0;
  }

  .site-header.site-header--front-page.site-header--front-compact-needed:not(.is-scrolled) .header-compact-bar{
    margin-bottom:0;
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
    background-color:var(--pst-header-compact-bar-scroll-bg, #000);
  }

  .site-header.site-header--front-page.site-header--front-compact-needed:not(.is-scrolled) .brand__meta{
    max-height:0;
    opacity:0;
    margin-top:0;
    pointer-events:none;
  }

  .site-header.site-header--front-page.site-header--front-compact-needed:not(.is-scrolled) .header-main-row{
    min-height:var(--pst-desktop-header-row-h);
    padding:0;
    align-items:center;
  }

  .site-header.site-header--front-page.site-header--front-compact-needed:not(.is-scrolled) .header-brand{
    align-items:center !important;
  }

  .site-header.site-header--front-page.site-header--front-compact-needed:not(.is-scrolled) .brand__logo-link{
    align-self:center !important;
  }

  .site-header.site-header--front-page.site-header--front-compact-needed:not(.is-scrolled) .brand__stack{
    align-self:center;
  }

  .site-header.site-header--front-page.site-header--front-compact-needed:not(.is-scrolled) .brand__titles{
    min-height:var(--pst-desktop-header-row-h);
  }

  .site-header.site-header--front-page.site-header--front-compact-needed:not(.is-scrolled) .header-right{
    align-self:center;
    padding-top:0;
  }

  .site-header:not(.site-header--front-page) .header-main-row{
    min-height:var(--pst-desktop-header-row-h);
    padding:0;
    align-items:center;
    background-color:var(--pst-header-main-row-scroll-bg, transparent);
  }

  .site-header:not(.site-header--front-page) .header-brand{
    align-items:center !important;
  }

  .site-header:not(.site-header--front-page) .brand__logo-link{
    align-self:center !important;
  }

  .site-header:not(.site-header--front-page) .brand__stack{
    align-self:center;
  }

  .site-header:not(.site-header--front-page) .brand__titles{
    min-height:var(--pst-desktop-header-row-h);
  }

  .site-header:not(.site-header--front-page) .header-right{
    align-self:center;
    padding-top:0;
  }
}

@media (min-width: 641px) and (max-width: 1340px){
  .site-header{
    --pst-int-bar-h: 38px;
    --pst-int-row-h: 110px;
    --pst-int-logo: 94px;
    --pst-int-brand-gap: 12px;
    --pst-int-title: 18px;
    --pst-int-subtitle: 17px;
    --pst-int-menu-size: 14px;
    --pst-int-menu-gap: 3px;
    --pst-int-menu-pad-y: 7px;
    --pst-int-menu-pad-x: 7px;
  }

  .site-header .header-mobile-top{
    display:none !important;
  }

.site-header .header-shell__inner{
  min-height:auto;
  height:auto !important;
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  grid-template-areas:
    "compact"
    "main";
  align-items:stretch !important;
  align-content:stretch;
  row-gap:0;
  padding-top:0;
  padding-bottom:0;
}

  .site-header .header-compact-bar{
    display:block;
    grid-area:compact;
    position:relative;
    z-index:2;
    width:calc(100% + 32px);
    margin-left:-16px;
    margin-right:-16px;
    background-color:var(--pst-header-compact-bar-bg, transparent);
    color:var(--pst-header-compact-bar-text, #d1d5db);
    transition:background-color .18s ease;
  }

  .site-header.is-scrolled .header-compact-bar{
    background-color:var(--pst-header-compact-bar-scroll-bg, #000);
  }

  .site-header .header-compact-bar__inner{
    width:min(1440px, calc(100% - 32px));
    min-height:var(--pst-int-bar-h);
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:2px 8px;
    padding:0;
    text-align:center;
  }

  .site-header .header-compact-bar__item{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:var(--pst-int-bar-h);
    padding:0;
    color:inherit;
    text-decoration:none;
    font-size:13px;
    line-height:1.1;
    white-space:nowrap;
    opacity:1;
  }

  .site-header .header-compact-bar__item + .header-compact-bar__item{
    margin-left:0;
    padding-left:8px;
    border-left:1px solid rgba(255,255,255,.14);
  }

  .site-header .header-compact-bar__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:15px;
    height:15px;
    flex:0 0 15px;
    font-size:0;
  }

  .site-header .header-compact-bar__icon .pst-meta-icon{
    width:15px;
    height:15px;
    display:block;
  }

  .site-header .header-compact-bar__icon .pst-instagram-icon{
    width:15px;
    height:15px;
  }

  .site-header .header-compact-bar__icon .pst-meta-icon path,
  .site-header .header-compact-bar__icon .pst-meta-icon rect,
  .site-header .header-compact-bar__icon .pst-meta-icon circle{
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .site-header .header-compact-bar__item[href^="tel:"] .pst-meta-icon path:first-child{
    fill:#ef4444;
    stroke:#000;
  }

  .site-header .header-compact-bar__item[href^="mailto:"] .pst-meta-icon path:first-child{
    fill:#fff;
    stroke:#000;
  }

  .site-header .header-compact-bar__item[href^="mailto:"] .pst-meta-icon path:last-child{
    fill:none;
    stroke:#000;
  }

  .site-header .header-compact-bar__item--instagram .pst-meta-icon rect{
    fill:#ef4444;
    stroke:#000;
  }

  .site-header .header-compact-bar__item--instagram .pst-meta-icon circle:first-of-type{
    fill:#fff;
    stroke:#000;
  }

  .site-header .header-compact-bar__item--instagram .pst-meta-icon circle:last-child{
    fill:#111;
    stroke:none;
  }

  .site-header .header-compact-bar__item .pst-pin-shell{
    fill:#ef4444;
    stroke:none;
  }

  .site-header .header-compact-bar__item .pst-pin-center{
    fill:#111;
    stroke:none;
  }

  .site-header .header-compact-bar__item--extra .pst-meta-icon path,
  .site-header .header-compact-bar__item--extra .pst-meta-icon circle{
    stroke:currentColor;
    fill:none;
  }

  .site-header .header-main-row{
    grid-area:main;
    position:relative;
    z-index:1;
    width:100%;
    min-height:var(--pst-int-row-h);
    display:flex;
    align-items:center !important;
    justify-content:space-between;
    gap:16px;
    background-color:var(--pst-header-main-row-bg, transparent);
    transition:background-color .18s ease;
  }

  .site-header.is-scrolled .header-main-row{
    background-color:var(--pst-header-main-row-scroll-bg, transparent);
  }

  .site-header .header-brand{
    flex:0 1 auto;
    min-width:0;
    max-width:min(42%, 500px);
    display:flex;
    align-items:center !important;
    align-self:center !important;
    justify-content:flex-start;
    gap:var(--pst-int-brand-gap);
    margin:0;
    padding:0;
  }

  .site-header .brand__logo-link{
    flex:0 0 var(--pst-int-logo);
    width:var(--pst-int-logo);
    height:var(--pst-int-logo);
    display:flex;
    align-items:center;
    justify-content:center;
    align-self:center !important;
  }

  .site-header .brand__logo,
  .site-header .brand__logo-placeholder{
    width:var(--pst-int-logo);
    height:var(--pst-int-logo);
    display:block;
  }

  .site-header .brand__stack{
    min-width:0;
    width:auto;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    align-self:center !important;
    gap:4px;
    margin:0;
  }

  .site-header .brand__titles{
    align-self:flex-start;
    gap:4px;
  }

  .site-header .brand__name-link,
  .site-header .brand__name-link:hover,
  .site-header .brand__name-link:focus{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    min-width:0;
    max-width:100%;
    text-decoration:none;
  }

  .site-header .brand__text{
    display:block;
    font-size:var(--pst-int-title);
    line-height:1.05;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    text-align:left;
  }

  .site-header .brand__subtitle{
    display:block;
    font-size:var(--pst-int-subtitle);
    line-height:1.1;
    font-weight:700;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .site-header .brand__meta{
    display:none !important;
  }

  .site-header .header-right{
    flex:1 1 auto;
    min-width:0;
    display:flex;
    align-items:center !important;
    align-self:center !important;
    justify-content:flex-end;
    gap:0;
    margin:0 0 0 auto;
    padding:0;
  }

  .site-header .nav-toggle{
    display:none !important;
  }

  .site-header .main-nav{
    display:block !important;
    width:auto;
    min-width:0;
    flex:0 1 auto;
    align-self:center !important;
  }

  .site-header .main-nav ul{
    list-style:none;
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:center !important;
    justify-content:flex-end;
    gap:0 var(--pst-int-menu-gap);
    margin:0;
    padding:0;
    max-width:none;
    white-space:nowrap;
  }

  .site-header .main-nav li{
    margin:0;
    display:flex;
    align-items:center;
  }

  .site-header .main-nav a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    padding:var(--pst-int-menu-pad-y) var(--pst-int-menu-pad-x);
    border-radius:999px;
    font-size:var(--pst-int-menu-size);
    line-height:1.02;
    white-space:nowrap;
  }

  .site-header .main-nav a::after{
    left:7px;
    right:7px;
    bottom:3px;
  }

  .site-header .header-cta{
    display:none !important;
  }
}

@media (min-width: 641px) and (max-width: 750px){
  .site-header .header-right{
    width:auto;
    flex:0 0 auto;
    margin:0 0 0 auto;
    justify-content:flex-end;
    position:relative;
  }

  .site-header .nav-toggle{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    padding:0;
    border:1px solid rgba(15,23,42,.08);
    border-radius:16px;
    background:var(--pst-mobile-menu-btn-bg, #f8fafc);
    color:var(--pst-mobile-menu-btn-icon, #0f172a);
    cursor:pointer;
    box-shadow:0 8px 18px rgba(15,23,42,.08);
  }

  .site-header .nav-toggle__icon{
    display:grid;
    gap:5px;
    width:auto;
    height:auto;
    position:static;
  }

  .site-header .nav-toggle__icon span{
    position:static;
    display:block;
    width:24px;
    height:3px;
    border-radius:999px;
    background:currentColor;
    transition:transform .18s ease, opacity .18s ease;
  }

  .site-header .main-nav{
    display:none !important;
    width:auto;
    min-width:0;
    flex:0 0 auto;
  }

  .site-header .header-right.is-open{
    position:fixed;
    inset:0;
    z-index:120;
    display:block;
    background:rgba(15,23,42,.30);
    -webkit-backdrop-filter:blur(2px);
    backdrop-filter:blur(2px);
  }

  .site-header .header-right.is-open .nav-toggle{
    position:absolute;
    top:18px;
    right:18px;
    z-index:2;
    width:56px;
    height:56px;
    border-radius:18px;
    border:1px solid rgba(15,23,42,.08);
    background:var(--pst-mobile-drawer-close-bg, #eef2f7);
    color:var(--pst-mobile-drawer-close-icon, #0f172a);
    box-shadow:0 14px 28px rgba(15,23,42,.14);
  }

  .site-header .header-right.is-open .nav-toggle__icon span:nth-child(1){
    transform:translateY(8px) rotate(45deg);
  }

  .site-header .header-right.is-open .nav-toggle__icon span:nth-child(2){
    opacity:0;
  }

  .site-header .header-right.is-open .nav-toggle__icon span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
  }

  .site-header .header-right.is-open .main-nav{
    display:block !important;
    position:absolute;
    top:0;
    right:0;
    width:min(88vw, 372px);
    height:100dvh;
    padding:96px 20px 28px;
    background:var(--pst-mobile-drawer-bg, #f8fafc);
    border-left:1px solid rgba(15,23,42,.08);
    box-shadow:-24px 0 54px rgba(15,23,42,.16);
    overflow:auto;
  }

  .site-header .header-right.is-open .main-nav ul{
    list-style:none;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:12px;
    margin:0;
    padding:0;
    max-width:none;
    white-space:normal;
  }

  .site-header .header-right.is-open .main-nav li{
    width:100%;
    margin:0;
    display:block;
  }

  .site-header .header-right.is-open .main-nav a{
    display:block;
    width:100%;
    padding:16px 14px;
    border-radius:16px;
    background:transparent;
    color:var(--pst-mobile-drawer-text, #0f172a);
    font-size:18px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:-.01em;
    text-align:left;
    text-shadow:0 1px 0 var(--pst-mobile-drawer-text-shadow, transparent);
    transition:background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
  }

  .site-header .header-right.is-open .main-nav a:hover,
  .site-header .header-right.is-open .main-nav a:focus-visible{
    background:var(--pst-mobile-drawer-active-bg, #e7edf4);
    color:var(--pst-mobile-drawer-active-text, #0b1220);
  }

  .site-header .header-right.is-open .main-nav .current-menu-item > a,
  .site-header .header-right.is-open .main-nav .current_page_item > a,
  .site-header .header-right.is-open .main-nav .current-menu-ancestor > a{
    background:var(--pst-mobile-drawer-active-bg, #e7edf4);
    color:var(--pst-mobile-drawer-active-text, #0b1220);
    box-shadow:inset 0 0 0 1px rgba(15,23,42,.04);
  }

  .site-header .header-right.is-open .main-nav a::before,
  .site-header .header-right.is-open .main-nav a::after{
    content:none !important;
    display:none !important;
  }

  .site-header .header-right.is-open .main-nav .main-nav__label{
    display:inline !important;
    transform:none !important;
    transition:none !important;
  }

  .site-header .header-right.is-open .main-nav .sub-menu{
    position:static;
    display:flex;
    flex-direction:column;
    gap:8px;
    margin:8px 0 0;
    padding:0 0 0 12px;
    min-width:0;
    box-shadow:none;
    background:transparent;
    opacity:1;
    visibility:visible;
    transform:none;
  }

  .site-header .header-right.is-open .main-nav .sub-menu a{
    font-size:16px;
    font-weight:700;
    padding:10px 12px;
  }
}

@media (min-width: 1001px) and (max-width: 1340px){
  .site-header{
    --pst-int-row-h: 102px;
    --pst-int-logo: 90px;
    --pst-int-title: 18px;
    --pst-int-subtitle: 17px;
    --pst-int-menu-size: 14px;
    --pst-int-menu-gap: 4px;
    --pst-int-menu-pad-y: 6px;
    --pst-int-menu-pad-x: 6px;
  }
}

@media (min-width: 641px) and (max-width: 1000px){
  .site-header{
    --pst-int-row-h: 100px;
    --pst-int-logo: 84px;
    --pst-int-brand-gap: 10px;
    --pst-int-title: 17px;
    --pst-int-subtitle: 16px;
    --pst-int-menu-size: 13px;
    --pst-int-menu-gap: 3px;
    --pst-int-menu-pad-y: 6px;
    --pst-int-menu-pad-x: 6px;
  }
  
  .site-header .header-brand{
  max-width:min(48%, 520px);
}
  .site-header .header-compact-bar__item{
    font-size:12.5px;
  }

  .site-header .header-compact-bar__item + .header-compact-bar__item{
    padding-left:6px;
  }
  
}


@media (max-width: 640px){
  .brand__text,
  .brand__subtitle{
    -webkit-text-stroke:0 transparent !important;
    paint-order:normal;
  }

  .brand__subtitle{
    display:block !important;
    color:var(--pst-mobile-brand-title-color, var(--pst-text));
    font-size:13px;
    line-height:1.12;
    font-weight:700;
  }

  .hero-v2 h1,
  .mobile-template-hero__title{
    -webkit-text-stroke:0 transparent !important;
    paint-order:normal;
  }

  .site-header .header-compact-bar{
    display:none !important;
  }

  .site-header .header-main-row{
    display:contents;
  }
}



/* Default service item typography controls */

.nav-page-default-service__title--strong{
  font-weight:700;
}

.nav-page-default-service__title--normal{
  font-weight:400;
}

.nav-page-default-service__title--align-left{
  text-align:left;
  margin-left:0;
  margin-right:0;
}

.nav-page-default-service__title--align-center{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}

.nav-page-default-service__title--align-right{
  text-align:right;
  margin-left:auto;
  margin-right:0;
}

.nav-page-default-service__text--strong,
.nav-page-default-service__text--strong p,
.nav-page-default-service__text--strong li{
  font-weight:700;
}

.nav-page-default-service__text--normal,
.nav-page-default-service__text--normal p,
.nav-page-default-service__text--normal li{
  font-weight:400;
}

.nav-page-default-service__text--align-left{
  text-align:left;
  margin-left:0;
  margin-right:0;
}

.nav-page-default-service__text--align-center{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}

.nav-page-default-service__text--align-right{
  text-align:right;
  margin-left:auto;
  margin-right:0;
}

.nav-page-default-service__text--align-justify{
  text-align:justify;
}

/* Trust strip labels — tablet / small desktop centering */
@media (min-width: 641px) and (max-width: 1100px){
  .trust-strip .trust-card > h3{
    display:block;
    width:100%;
    max-width:100%;
    margin:0;
    padding-inline:2px;
    text-align:center;
    align-self:stretch;
    text-wrap:balance;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
}

@media (min-width: 993px) and (max-width: 1100px){
  .trust-strip .trust-card > h3{
    font-size:13px;
    line-height:1.12;
  }
}

@media (min-width: 641px) and (max-width: 992px){
  .trust-strip .trust-card > h3{
    font-size:11px;
    line-height:1.12;
  }
}

@media (min-width: 641px) and (max-width: 760px){
  .trust-strip .trust-card > h3{
    font-size:10px;
    line-height:1.1;
  }
}

@media (min-width: 641px) and (max-width: 750px){
  .site-header .header-right{
    width:auto;
    flex:0 0 auto;
    margin:0 0 0 auto;
    justify-content:flex-end;
    position:relative;
  }

  .site-header .nav-toggle{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    padding:0;
    border:1px solid rgba(15,23,42,.08);
    border-radius:16px;
    background:var(--pst-mobile-menu-btn-bg, #f8fafc);
    color:var(--pst-mobile-menu-btn-icon, #0f172a);
    cursor:pointer;
    box-shadow:0 8px 18px rgba(15,23,42,.08);
  }

  .site-header .nav-toggle__icon{
    display:grid;
    gap:5px;
    width:auto;
    height:auto;
    position:static;
  }

  .site-header .nav-toggle__icon span{
    position:static;
    display:block;
    width:24px;
    height:3px;
    border-radius:999px;
    background:currentColor;
    transition:transform .18s ease, opacity .18s ease;
  }

  .site-header .main-nav{
    display:none !important;
    width:auto;
    min-width:0;
    flex:0 0 auto;
  }

  .site-header .header-right.is-open{
    position:fixed;
    inset:0;
    z-index:120;
    display:block;
    background:rgba(15,23,42,.30);
    -webkit-backdrop-filter:blur(2px);
    backdrop-filter:blur(2px);
  }

  .site-header .header-right.is-open .nav-toggle{
    position:absolute;
    top:18px;
    right:18px;
    z-index:2;
    width:56px;
    height:56px;
    border-radius:18px;
    border:1px solid rgba(15,23,42,.08);
    background:var(--pst-mobile-drawer-close-bg, #eef2f7);
    color:var(--pst-mobile-drawer-close-icon, #0f172a);
    box-shadow:0 14px 28px rgba(15,23,42,.14);
  }

  .site-header .header-right.is-open .nav-toggle__icon span:nth-child(1){
    transform:translateY(8px) rotate(45deg);
  }

  .site-header .header-right.is-open .nav-toggle__icon span:nth-child(2){
    opacity:0;
  }

  .site-header .header-right.is-open .nav-toggle__icon span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
  }

  .site-header .header-right.is-open .main-nav{
    display:block !important;
    position:absolute;
    top:0;
    right:0;
    width:min(88vw, 372px);
    height:100dvh;
    padding:96px 20px 28px;
    background:var(--pst-mobile-drawer-bg, #f8fafc);
    border-left:1px solid rgba(15,23,42,.08);
    box-shadow:-24px 0 54px rgba(15,23,42,.16);
    overflow:auto;
  }

  .site-header .header-right.is-open .main-nav ul{
    list-style:none;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:12px;
    margin:0;
    padding:0;
    max-width:none;
    white-space:normal;
  }

  .site-header .header-right.is-open .main-nav li{
    width:100%;
    margin:0;
    display:block;
  }

  .site-header .header-right.is-open .main-nav a{
    display:block;
    width:100%;
    padding:16px 14px;
    border-radius:16px;
    background:transparent;
    color:var(--pst-mobile-drawer-text, #0f172a);
    font-size:18px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:-.01em;
    text-align:left;
    text-shadow:0 1px 0 var(--pst-mobile-drawer-text-shadow, transparent);
    transition:background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
  }

  .site-header .header-right.is-open .main-nav a:hover,
  .site-header .header-right.is-open .main-nav a:focus-visible{
    background:var(--pst-mobile-drawer-active-bg, #e7edf4);
    color:var(--pst-mobile-drawer-active-text, #0b1220);
  }

  .site-header .header-right.is-open .main-nav .current-menu-item > a,
  .site-header .header-right.is-open .main-nav .current_page_item > a,
  .site-header .header-right.is-open .main-nav .current-menu-ancestor > a{
    background:var(--pst-mobile-drawer-active-bg, #e7edf4);
    color:var(--pst-mobile-drawer-active-text, #0b1220);
    box-shadow:inset 0 0 0 1px rgba(15,23,42,.04);
  }

  .site-header .header-right.is-open .main-nav a::before,
  .site-header .header-right.is-open .main-nav a::after{
    content:none !important;
    display:none !important;
  }

  .site-header .header-right.is-open .main-nav .main-nav__label{
    display:inline !important;
    transform:none !important;
    transition:none !important;
  }

  .site-header .header-right.is-open .main-nav .sub-menu{
    position:static;
    display:flex;
    flex-direction:column;
    gap:8px;
    margin:8px 0 0;
    padding:0 0 0 12px;
    min-width:0;
    box-shadow:none;
    background:transparent;
    opacity:1;
    visibility:visible;
    transform:none;
  }

  .site-header .header-right.is-open .main-nav .sub-menu a{
    font-size:16px;
    font-weight:700;
    padding:10px 12px;
  }
}


@media (min-width: 993px) and (max-height: 840px){
  .hero-v2__content{
    max-width:min(29vw, 380px);
  }

  .hero-v2__eyebrow{
    font-size:min(var(--pst-hero-eyebrow-desktop-size, 12px), 10px);
    margin-bottom:6px;
  }

  .hero-v2__content > h1{
    font-size:min(var(--pst-hero-title-desktop-size, 32px), 44px);
    line-height:1.02;
    margin-bottom:6px;
  }

  .hero-v2__text{
    font-size:min(var(--pst-hero-subtitle-desktop-size, 16px), 14px);
    line-height:1.18;
    max-width:24ch;
  }
}

/* Hero overlay guard — short-height compression only */
@media (min-width: 993px) and (max-height: 680px){
  .hero-v2__content{
    top:8px;
    max-width:min(27vw, 310px);
  }

  .hero-v2__eyebrow{
    font-size:9px;
    margin:0 0 3px;
  }

  .hero-v2__content > h1{
    font-size:clamp(25px, 2.6vw, 38px);
    line-height:1.01;
    margin:0 0 4px;
    max-width:9.4ch;
  }

  .hero-v2__text{
    font-size:12.5px;
    line-height:1.12;
    max-width:21ch;
  }

  .trust-strip__top{
    padding:5px 0;
  }

  .trust-strip__features{
    display:flex;
    flex-wrap:nowrap;
    justify-content:space-evenly;
    align-items:flex-start;
    gap:0;
  }

  .trust-card{
    flex:0 0 108px;
    width:108px;
    min-width:108px;
    max-width:108px;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
    color:var(--pst-on-dark);
  }

  .trust-card__icon-wrap,
  .trust-card__icon-placeholder{
    width:62px;
    height:62px;
    margin:0 auto 4px;
    border-radius:16px;
  }

  .trust-strip .trust-card > h3{
    display:block;
    width:100%;
    max-width:100%;
    margin:0;
    padding-inline:2px;
    font-size:11px;
    line-height:1.05;
    text-align:center;
    align-self:stretch;
    text-wrap:balance;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
}

@media (min-width: 641px) and (max-width: 992px) and (max-height: 680px){
  .hero-v2__content{
    top:9px;
  }

  .hero-v2__eyebrow{
    margin-bottom:3px;
  }

  .hero-v2__content > h1{
    margin-bottom:4px;
  }

  .hero-v2__text{
    line-height:1.1;
  }

  .trust-strip__top{
    padding:4px 0 5px;
  }

  .trust-strip__features{
    display:flex;
    flex-wrap:nowrap;
    justify-content:space-evenly;
    align-items:flex-start;
    gap:0;
  }

  .trust-card{
    flex:0 0 100px;
    width:100px;
    min-width:100px;
    max-width:100px;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
    color:var(--pst-on-dark);
  }

  .trust-card__icon-wrap,
  .trust-card__icon-placeholder{
    width:50px;
    height:50px;
    margin:0 auto 3px;
    border-radius:14px;
  }

  .trust-strip .trust-card > h3{
    display:block;
    width:100%;
    max-width:100%;
    margin:0;
    padding-inline:2px;
    font-size:10px;
    line-height:1.04;
    text-align:center;
    align-self:stretch;
    text-wrap:balance;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
}

/* Hero content final alignment lock */
.hero-v2__content{
  --pst-hero-copy-top-base: clamp(16px, 2.6vw, 34px);
  --pst-hero-copy-left-base: clamp(16px, 2.2vw, 30px);
  --pst-hero-copy-box-max: 420px;
  --pst-hero-copy-scale: 1;
  --pst-hero-copy-box-width: min(
    calc(100% - (2 * var(--pst-hero-copy-left-base))),
    var(--pst-hero-copy-box-max)
  );

  top: var(--pst-hero-copy-top, var(--pst-hero-copy-top-base));
  left: var(--pst-hero-copy-left-base);
  width: var(--pst-hero-copy-box-width);
  max-width: var(--pst-hero-copy-box-width);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  transform: scale(var(--pst-hero-copy-scale));
  transform-origin: left top;
  will-change: top, transform;
}

.hero-v2__content > *{
  width: 100%;
  align-self: stretch;
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}



.hero-v2__eyebrow,
.hero-v2__content > h1,
.hero-v2__text{
  display:block;
  width:100%;
  max-width:none;
  padding-left:0;
  padding-right:0;
  margin-left:0;
  margin-right:0;
  text-align:left;
  text-indent:0;
}

.hero-v2__text{
  margin: 0;
  white-space: normal;
}

.hero-v2__eyebrow,
.hero-v2__content > h1,
.hero-v2__text,
.hero-v2__text > *,
.hero-v2__text p,
.hero-v2__text ul,
.hero-v2__text ol,
.hero-v2__text li{
  max-width:none;
  padding-left:0;
  padding-right:0;
  margin-left:0;
  margin-right:0;
  text-align:left;
  text-indent:0;
  word-spacing:normal;
}

.hero-v2__text > *{
  width: 100%;
}

.hero-v2__text > :first-child{
  margin-top: 0;
}

.hero-v2__text > :last-child{
  margin-bottom: 0;
}

.hero-v2__visuals--slider{
  --pst-hero-arrow-size: 48px;
  --pst-hero-copy-safe-gap: 6px;
}

.hero-v2__visuals--slider .hero-v2__content{
  --pst-hero-copy-slider-max: 380px;
  --pst-hero-copy-slider-left: calc(
    var(--pst-hero-copy-left-base)
    + var(--pst-hero-arrow-inset, 16px)
    + var(--pst-hero-arrow-size)
    + var(--pst-hero-copy-safe-gap)
  );
  --pst-hero-copy-slider-width: min(
    calc(100% - var(--pst-hero-copy-slider-left) - var(--pst-hero-copy-left-base)),
    var(--pst-hero-copy-slider-max)
  );

  left: var(--pst-hero-copy-slider-left);
  width: var(--pst-hero-copy-slider-width);
  max-width: var(--pst-hero-copy-slider-width);
}

@media (max-width: 1100px) and (min-width: 993px){
  .hero-v2__content{
    --pst-hero-copy-top-base: 14px;
    --pst-hero-copy-left-base: 14px;
    --pst-hero-copy-box-max: 350px;
  }

  .hero-v2__visuals--slider .hero-v2__content{
    --pst-hero-copy-slider-max: 350px;
  }
}

@media (max-width: 992px) and (min-width: 641px){
  .hero-v2__content{
    --pst-hero-copy-top-base: 12px;
    --pst-hero-copy-left-base: 12px;
    --pst-hero-copy-box-max: 320px;
  }

  .hero-v2__visuals--slider .hero-v2__content{
    --pst-hero-copy-slider-max: 320px;
  }
}

@media (max-width: 760px) and (min-width: 641px){
  .hero-v2__content{
    --pst-hero-copy-top-base: 10px;
    --pst-hero-copy-left-base: 10px;
    --pst-hero-copy-box-max: 280px;
  }

  .hero-v2__visuals--slider .hero-v2__content{
    --pst-hero-copy-slider-max: 280px;
  }
}

@media (max-width: 640px){
  .hero-v2__content{
    --pst-hero-copy-top-base: 12px;
    --pst-hero-copy-left-base: 12px;
    --pst-hero-copy-box-max: calc(100% - 24px);
  }

  .hero-v2__visuals--slider{
    --pst-hero-arrow-size: 40px;
    --pst-hero-copy-safe-gap: 6px;
  }

  .hero-v2__visuals--slider .hero-v2__content{
    --pst-hero-copy-slider-max: 260px;
  }
}

@media (min-width: 993px) and (max-height: 840px){
  .hero-v2__content{
    --pst-hero-copy-box-max: 380px;
  }

  .hero-v2__visuals--slider .hero-v2__content{
    --pst-hero-copy-slider-max: 380px;
  }
}

@media (min-width: 993px) and (max-height: 680px){
  .hero-v2__content{
    --pst-hero-copy-top-base: 8px;
    --pst-hero-copy-box-max: 310px;
  }

  .hero-v2__visuals--slider .hero-v2__content{
    --pst-hero-copy-slider-max: 310px;
  }
}

@media (min-width: 641px) and (max-width: 992px) and (max-height: 680px){
  .hero-v2__content{
    --pst-hero-copy-top-base: 9px;
  }
}

/* Front page hero balance + focal point — desktop / tablet only */
.hero-v2__visuals--single_image .hero-v2__media-img--single{
  object-position: var(--pst-hero-single-focus-x, 50%) var(--pst-hero-single-focus-y, 50%);
}

@media (min-width: 641px){
  .site-header.site-header--floating{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    background: transparent;
    box-shadow: none;
  }

  .site-header.site-header--floating .header-shell{
    background: transparent;
  }

  .site-header.site-header--floating .header-shell::after{
    opacity: 0;
    transition: opacity .18s ease;
  }

  .site-header.site-header--floating .header-compact-bar{
    background-color: var(--pst-header-compact-bar-bg, transparent);
  }

  .site-header.site-header--floating.is-scrolled .header-compact-bar{
    background-color: var(--pst-header-compact-bar-scroll-bg, #000);
  }

  .site-header.site-header--floating.is-scrolled{
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
  }

  .site-header.site-header--floating.is-scrolled .header-shell::after{
    opacity: 1;
  }

  .site-header.site-header--front-page + .site-main .home-above-fold{
    height: 100dvh;
    min-height: 100dvh;
    --pst-hero-safe-top: var(--pst-header-h, 100px);
    --pst-hero-safe-bottom: 0px;
    --pst-hero-safe-height: calc(100dvh - var(--pst-hero-safe-top) - var(--pst-hero-safe-bottom));
    --pst-hero-safe-gutter: clamp(18px, 2.6vh, 40px);
  }

  .site-header.site-header--front-page + .site-main .home-above-fold .hero-v2__content{
    --pst-hero-copy-top-base: calc(var(--pst-hero-safe-top) + var(--pst-hero-safe-gutter));
    --pst-hero-copy-scale: 1;
  }

  .site-header.site-header--front-page + .site-main .home-above-fold .trust-strip__top{
    padding: 10px 0 8px;
  }

  .site-header.site-header--front-page + .site-main .home-above-fold .trust-card__icon-wrap,
  .site-header.site-header--front-page + .site-main .home-above-fold .trust-card__icon-placeholder{
    width: 72px;
    height: 72px;
    margin: 0 auto 5px;
    border-radius: 18px;
  }

  .site-header.site-header--front-page + .site-main .home-above-fold .trust-strip .trust-card > h3{
    font-size: 14px;
    line-height: 1.08;
  }
}

@media (min-width: 641px) and (max-width: 1340px){
  .site-header.site-header--front-page + .site-main .home-above-fold .hero-v2__content{
    --pst-hero-copy-left-base: clamp(22px, 3.1vw, 34px);
    --pst-hero-copy-box-max: 430px;
  }

  .site-header.site-header--front-page + .site-main .home-above-fold .hero-v2__eyebrow{
    font-size: 12px;
    margin-bottom: 10px;
  }

  .site-header.site-header--front-page + .site-main .home-above-fold .hero-v2__content > h1{
    font-size: clamp(32px, 4.4vw, 46px);
    line-height: 1.03;
    margin-bottom: 10px;
    max-width: 10ch;
  }

  .site-header.site-header--front-page + .site-main .home-above-fold .hero-v2__text{
    font-size: 16px;
    line-height: 1.24;
    max-width: 24ch;
  }
}

@media (min-width: 993px){
  .site-header.site-header--front-page + .site-main .home-above-fold .hero-v2__content{
    --pst-hero-copy-box-max: 460px;
  }

  .site-header.site-header--front-page + .site-main .home-above-fold .hero-v2__eyebrow{
    margin-bottom: 12px;
  }

  .site-header.site-header--front-page + .site-main .home-above-fold .hero-v2__content > h1{
    margin-bottom: 12px;
  }

  .site-header.site-header--front-page + .site-main .home-above-fold .hero-v2__text{
    max-width: 25ch;
  }
}

@media (min-width: 1200px){
  .site-header.site-header--front-page + .site-main .home-above-fold .trust-strip__top{
    padding: 8px 0 7px;
  }

  .site-header.site-header--front-page + .site-main .home-above-fold .trust-card__icon-wrap,
  .site-header.site-header--front-page + .site-main .home-above-fold .trust-card__icon-placeholder{
    width: 68px;
    height: 68px;
  }

  .site-header.site-header--front-page + .site-main .home-above-fold .trust-strip .trust-card > h3{
    font-size: 13px;
  }
}

/* Assistant toggle */
.pst-ai-assistant{
  --pst-ai-toggle-bg:#ffffff;
  --pst-ai-toggle-text:#0f172a;
  --pst-ai-toggle-border:rgba(255,255,255,.18);
  --pst-ai-toggle-hover-bg:transparent;
  --pst-ai-toggle-hover-text:#ffffff;
  --pst-ai-toggle-hover-border:rgba(255,255,255,.82);
  --pst-ai-toggle-icon-bg:rgba(15,23,42,.08);
  --pst-ai-toggle-icon:#0f172a;

  --pst-ai-prompt-bg:#ffffff;
  --pst-ai-prompt-text:#0f172a;
  --pst-ai-prompt-border:#dbe2ea;
  --pst-ai-prompt-hover-bg:#35511f;
  --pst-ai-prompt-hover-text:#ffffff;
  --pst-ai-prompt-hover-border:#35511f;

  position:fixed;
  right:10px;
  bottom:18px;
  z-index:1200;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
}

.pst-ai-assistant.pst-ai-assistant--front-page{
  right:12px;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 132px);
}

.pst-ai-assistant__toggle{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:0 18px;
  border:1px solid var(--pst-ai-toggle-border);
  border-radius:999px;
  background:var(--pst-ai-toggle-hover-bg);
  color:var(--pst-ai-toggle-text);
  font:inherit;
  font-weight:800;
  cursor:pointer;
  transform:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  box-shadow:
    0 18px 42px rgba(15,23,42,.18),
    inset 0 1px 0 rgba(255,255,255,.12);
  transition:
    color .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;
}

.pst-ai-assistant__toggle::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:var(--pst-ai-toggle-bg);
  opacity:1;
  z-index:0;
  transform:scaleX(1);
  transform-origin:right center;
  will-change:transform;
  transition:transform .72s cubic-bezier(.22,1,.36,1);
}

.pst-ai-assistant__toggle::after{
  content:"";
  position:absolute;
  top:-1px;
  bottom:-1px;
  left:-38%;
  width:34%;
  border-radius:999px;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.08) 22%,
    rgba(255,255,255,.34) 50%,
    rgba(255,255,255,.08) 78%,
    rgba(255,255,255,0) 100%
  );
  opacity:0;
  transform:skewX(-18deg);
  z-index:0;
  pointer-events:none;
}

.pst-ai-assistant__toggle-icon,
.pst-ai-assistant__toggle-label{
  position:relative;
  z-index:1;
}

.pst-ai-assistant__toggle-label{
  white-space:nowrap;
}

.pst-ai-assistant__toggle-icon{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--pst-ai-toggle-icon-bg);
  color:var(--pst-ai-toggle-icon);
  line-height:1;
  flex:0 0 28px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
  transition:
    background-color .24s ease,
    color .24s ease,
    box-shadow .24s ease;
}

.pst-ai-assistant__toggle-icon svg{
  display:block;
  width:16px;
  height:16px;
}

.pst-ai-assistant__toggle-icon path{
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.pst-ai-assistant__toggle-icon circle{
  fill:currentColor;
  stroke:none;
}

@media (hover:hover) and (pointer:fine){
  .pst-ai-assistant__toggle:hover,
  .pst-ai-assistant__toggle:focus-visible,
  .pst-ai-assistant.is-open .pst-ai-assistant__toggle{
    color:var(--pst-ai-toggle-hover-text);
    border-color:var(--pst-ai-toggle-hover-border);
    transform:none;
    box-shadow:
      0 18px 42px rgba(15,23,42,.18),
      inset 0 1px 0 rgba(255,255,255,.22);
  }

  .pst-ai-assistant__toggle:hover::before,
  .pst-ai-assistant__toggle:focus-visible::before,
  .pst-ai-assistant.is-open .pst-ai-assistant__toggle::before{
    transform:scaleX(0);
  }

  .pst-ai-assistant__toggle:hover::after,
  .pst-ai-assistant__toggle:focus-visible::after,
  .pst-ai-assistant.is-open .pst-ai-assistant__toggle::after{
    opacity:1;
    animation:pstAiToggleSweep .78s cubic-bezier(.22,1,.36,1) 1;
  }

  .pst-ai-assistant__toggle:hover .pst-ai-assistant__toggle-icon,
  .pst-ai-assistant__toggle:focus-visible .pst-ai-assistant__toggle-icon,
  .pst-ai-assistant.is-open .pst-ai-assistant__toggle .pst-ai-assistant__toggle-icon{
    background:rgba(255,255,255,.12);
    color:currentColor;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.32);
    transform:none;
  }
}

@keyframes pstAiToggleSweep{
  0%{
    left:-38%;
  }
  100%{
    left:108%;
  }
}

.pst-ai-assistant__panel{
  width:min(560px, calc(100vw - 28px));
  border:1px solid #dbe2ea;
  border-radius:24px;
  background:#ffffff;
  box-shadow:0 28px 70px rgba(15,23,42,.22);
  padding:18px;
  opacity:0;
  transform:translateY(28px) scale(.985);
  transform-origin:bottom right;
  transition:opacity .18s ease, transform .18s ease;
}

.pst-ai-assistant.is-open .pst-ai-assistant__panel{
  opacity:1;
  transform:translateY(18px) scale(1);
}

.pst-ai-assistant__panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.pst-ai-assistant__eyebrow{
  margin:0 0 4px;
  color:#65a30d;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.pst-ai-assistant__title{
  margin:0;
  color:#0f172a;
  font-size:clamp(28px, 3vw, 40px);
  line-height:1.08;
  letter-spacing:-.02em;
}

.pst-ai-assistant__close{
  width:42px;
  height:42px;
  border:1px solid #dbe2ea;
  border-radius:999px;
  background:#ffffff;
  color:#0f172a;
  font:inherit;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  flex:0 0 auto;
}

.pst-ai-assistant__intro{
  margin:0 0 14px;
  color:#475569;
  font-size:15px;
  line-height:1.7;
}



.pst-ai-assistant__services{
  margin-bottom:14px;
}

.pst-ai-assistant__service-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.pst-ai-assistant__service-pill{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:#eef6df;
  color:#3f6212;
  font-size:13px;
  font-weight:700;
}

.pst-ai-assistant__prompts{
  margin-bottom:14px;
}

.pst-ai-assistant__prompt-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.pst-ai-assistant__prompt{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  padding:0 16px 0 18px;
  border:1px solid var(--pst-ai-prompt-border);
  border-radius:999px;
  background:var(--pst-ai-prompt-bg);
  color:var(--pst-ai-prompt-text);
  font:inherit;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(15,23,42,.05);
  transition:
    background-color .34s ease,
    color .34s ease,
    border-color .34s ease,
    transform .34s ease,
    box-shadow .34s ease;
}

.pst-ai-assistant__prompt::before{
  content:"";
  width:12px;
  height:12px;
  border-radius:999px;
  background:#35511f;
  box-shadow:0 0 0 4px rgba(53,81,31,.10);
  flex:0 0 auto;
  transition:
    background-color .34s ease,
    box-shadow .34s ease,
    transform .34s ease;
}

@media (hover:hover) and (pointer:fine){
  .pst-ai-assistant__prompt:hover{
    background:var(--pst-ai-prompt-hover-bg);
    color:var(--pst-ai-prompt-hover-text);
    border-color:var(--pst-ai-prompt-hover-border);
    transform:translateX(7px);
    box-shadow:0 16px 30px rgba(15,23,42,.14);
  }

  .pst-ai-assistant__prompt:hover::before{
    background:currentColor;
    box-shadow:0 0 0 4px rgba(255,255,255,.14);
    transform:scale(.82);
  }
}

.pst-ai-assistant__prompt.is-active{
  background:var(--pst-ai-prompt-hover-bg);
  color:var(--pst-ai-prompt-hover-text);
  border-color:var(--pst-ai-prompt-hover-border);
  transform:translateX(7px);
  box-shadow:0 16px 30px rgba(15,23,42,.14);
}

.pst-ai-assistant__prompt.is-active::before{
  background:currentColor;
  box-shadow:0 0 0 4px rgba(255,255,255,.14);
  transform:scale(.82);
}

.pst-ai-assistant__chat{
  margin-bottom:14px;
}

.pst-ai-assistant__messages{
  display:grid;
  gap:10px;
  max-height:320px;
  overflow:auto;
  padding:14px;
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#f8fafc;
}

.pst-ai-assistant__message{
  display:flex;
}

.pst-ai-assistant__message--assistant{
  justify-content:flex-start;
}

.pst-ai-assistant__message--user{
  justify-content:flex-end;
}

.pst-ai-assistant__bubble{
  max-width:min(100%, 88%);
  padding:12px 14px;
  border-radius:18px;
  font-size:14px;
  line-height:1.65;
  white-space:pre-line;
  word-break:break-word;
}

.pst-ai-assistant__message--assistant .pst-ai-assistant__bubble{
  background:#ffffff;
  color:#334155;
  border:1px solid #dbe2ea;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}

.pst-ai-assistant__message--user .pst-ai-assistant__bubble{
  background:#0f5d96;
  color:#ffffff;
  box-shadow:0 10px 22px rgba(15,23,42,.14);
}

.pst-ai-assistant__status{
  min-height:20px;
  padding:8px 2px 0;
  color:#64748b;
  font-size:12.5px;
}

.pst-ai-assistant__status:empty{
  display:none;
}

.pst-ai-assistant__composer{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
}

.pst-ai-assistant__input{
  width:100%;
  min-height:92px;
  resize:vertical;
  border:1px solid #dbe2ea;
  border-radius:18px;
  padding:14px 16px;
  background:#ffffff;
  color:#0f172a;
  font:inherit;
  line-height:1.6;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}

.pst-ai-assistant__input:focus{
  outline:none;
  border-color:#0f5d96;
  box-shadow:0 0 0 4px rgba(15,93,150,.12);
}

.pst-ai-assistant__input:disabled{
  background:#f1f5f9;
  color:#94a3b8;
  cursor:not-allowed;
}

.pst-ai-assistant__send{
  min-width:118px;
  min-height:52px;
  padding:0 18px;
  border:0;
  border-radius:16px;
  background:#35511f;
  color:#ffffff;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(53,81,31,.22);
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    background-color .22s ease;
}

.pst-ai-assistant__send:disabled{
  background:#94a3b8;
  box-shadow:none;
  cursor:not-allowed;
}

@media (hover:hover) and (pointer:fine){
  .pst-ai-assistant__send:hover:not(:disabled),
  .pst-ai-assistant__send:focus-visible:not(:disabled){
    transform:translateY(-1px);
    box-shadow:0 16px 30px rgba(53,81,31,.28);
    background:#2e451b;
  }
}

.pst-ai-assistant__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.pst-ai-assistant__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:14px;
  text-decoration:none;
  font-weight:800;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    background-color .22s ease,
    color .22s ease,
    border-color .22s ease;
}

.pst-ai-assistant__btn--primary{
  background:#65a30d;
  color:#ffffff;
  box-shadow:0 10px 22px rgba(101,163,13,.22);
}

.pst-ai-assistant__btn--secondary{
  background:#ffffff;
  color:#0f172a;
  border:1px solid #dbe2ea;
  box-shadow:0 8px 18px rgba(15,23,42,.06);
}

/* Mobile AI panel */
@media (max-width: 640px){
  body.has-pst-ai-open{
    overflow:hidden;
    touch-action:none;
  }

  .pst-ai-assistant--hide-mobile{
    display:none;
  }

.pst-ai-assistant{
  right:8px;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 16px);
  gap:10px;
}

.pst-ai-assistant.pst-ai-assistant--front-page{
  right:8px;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 16px);
}

  .pst-ai-assistant::before{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.52);
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease;
    -webkit-backdrop-filter:blur(5px);
    backdrop-filter:blur(5px);
  }

  .pst-ai-assistant.is-open{
    inset:0;
    right:auto;
    bottom:auto;
    z-index:1400;
    display:flex;
    align-items:stretch;
    justify-content:flex-end;
    padding:
      max(12px, calc(env(safe-area-inset-top, 0px) + 8px))
      12px
      max(12px, calc(env(safe-area-inset-bottom, 0px) + 8px));
  }

  .pst-ai-assistant.is-open::before{
    opacity:1;
    pointer-events:auto;
  }

.pst-ai-assistant__toggle{
  width:54px;
  min-width:54px;
  min-height:54px;
  padding:0;
  gap:0;
  justify-content:center;
  border-radius:999px;
  box-shadow:
  0 18px 42px rgba(15,23,42,.18),
  inset 0 1px 0 rgba(15,23,42,.08);
}

.pst-ai-assistant__toggle::before{
  background:var(--pst-ai-toggle-bg);
}

.pst-ai-assistant__toggle-label{
  display:none;
}

.pst-ai-assistant__toggle-icon{
  width:28px;
  height:28px;
  font-size:14px;
  box-shadow:
    inset 0 0 0 1px rgba(15,23,42,.18);
}

.pst-ai-assistant__toggle-icon svg{
  width:16px;
  height:16px;
}

  .pst-ai-assistant__panel{
    width:min(calc(100vw - 24px), 500px);
    max-width:calc(100vw - 24px);
    max-height:calc(100dvh - env(safe-area-inset-bottom, 0px) - 140px);
    overflow:auto;
    padding:14px;
    border-radius:22px;
  }

  .pst-ai-assistant.is-open .pst-ai-assistant__panel{
    position:relative;
    width:100%;
    max-width:none;
    height:100%;
    max-height:none;
    min-height:0;
    padding:16px;
    border-radius:26px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    transform:none;
    box-shadow:0 30px 72px rgba(15,23,42,.26);
  }

  .pst-ai-assistant.is-open .pst-ai-assistant__toggle{
    opacity:0;
    pointer-events:none;
    transform:translateY(10px);
  }

  .pst-ai-assistant__panel-head{
    gap:10px;
    margin-bottom:8px;
  }

  .pst-ai-assistant.is-open .pst-ai-assistant__panel-head{
    position:sticky;
    top:0;
    z-index:2;
    margin:-16px -16px 12px;
    padding:16px 16px 12px;
    background:#ffffff;
    border-bottom:1px solid #e2e8f0;
  }

  .pst-ai-assistant__title{
    font-size:21px;
    line-height:1.08;
  }

  .pst-ai-assistant__intro{
    font-size:14px;
    line-height:1.6;
  }

  .pst-ai-assistant__prompt-list{
    gap:8px;
  }

  .pst-ai-assistant__prompt{
    width:100%;
    justify-content:flex-start;
    min-height:42px;
    padding:0 14px 0 16px;
  }

  .pst-ai-assistant__chat{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    margin-bottom:12px;
  }

  .pst-ai-assistant__messages{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
  }

  .pst-ai-assistant__composer{
    grid-template-columns:1fr;
    gap:8px;
    margin-top:10px;
  }

  .pst-ai-assistant__input{
    min-height:96px;
    max-height:22dvh;
    resize:none;
    padding:12px 14px;
  }

  .pst-ai-assistant__send{
    width:100%;
    min-height:48px;
  }

  .pst-ai-assistant__actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    flex:0 0 auto;
  }

  .pst-ai-assistant__btn{
    width:100%;
    min-width:0;
    padding:0 14px;
  }

  .pst-ai-assistant__close{
    width:42px;
    height:42px;
    font-size:24px;
  }

  body.has-pst-ai-open .mobile-template-hero__floating-call{
    opacity:0;
    pointer-events:none;
    transform:translateY(12px);
  }
}

@media (max-width: 640px) and (max-height: 760px){
  .pst-ai-assistant.is-open{
    padding:
      max(10px, calc(env(safe-area-inset-top, 0px) + 6px))
      10px
      max(10px, calc(env(safe-area-inset-bottom, 0px) + 6px));
  }

  .pst-ai-assistant.is-open .pst-ai-assistant__panel{
    padding:12px;
    border-radius:22px;
    overflow:auto;
  }

  .pst-ai-assistant.is-open .pst-ai-assistant__panel-head{
    margin:-12px -12px 10px;
    padding:12px 12px 10px;
  }

  .pst-ai-assistant__title{
    font-size:19px;
  }

  .pst-ai-assistant__intro{
    margin-bottom:10px;
    font-size:13px;
    line-height:1.5;
  }

  .pst-ai-assistant__summary,
  .pst-ai-assistant__services{
    display:none;
  }

  .pst-ai-assistant__prompts{
    margin-bottom:10px;
  }

  .pst-ai-assistant__prompt-list{
    max-height:136px;
    overflow:auto;
    padding-right:2px;
  }

  .pst-ai-assistant__chat{
    margin-bottom:10px;
  }

  .pst-ai-assistant__messages{
    min-height:72px;
  }

  .pst-ai-assistant__input{
    min-height:72px;
    max-height:16dvh;
  }

  .pst-ai-assistant__actions{
    gap:6px;
  }

  .pst-ai-assistant__btn{
    min-height:42px;
  }
}

@media (max-width: 640px) and (max-height: 680px){
  .pst-ai-assistant__title{
    font-size:18px;
  }

  .pst-ai-assistant__prompt-list{
    max-height:104px;
  }

  .pst-ai-assistant__input{
    min-height:64px;
  }
}

@media (max-width: 420px){
  .pst-ai-assistant.is-open{
    padding:
      max(10px, calc(env(safe-area-inset-top, 0px) + 6px))
      10px
      max(10px, calc(env(safe-area-inset-bottom, 0px) + 6px));
  }

  .pst-ai-assistant.is-open .pst-ai-assistant__panel{
    padding:14px;
    border-radius:22px;
  }

  .pst-ai-assistant.is-open .pst-ai-assistant__panel-head{
    margin:-14px -14px 10px;
    padding:14px 14px 10px;
  }

  .pst-ai-assistant__title{
    font-size:18px;
  }

  .pst-ai-assistant__actions{
    grid-template-columns:1fr;
  }

  .pst-ai-assistant__close{
    width:38px;
    height:38px;
    font-size:22px;
  }
}

/* Header menu effect variants */
@media (min-width: 641px){
  .site-header--menu-effect-modern-reveal .main-nav,
  .site-header--menu-effect-classic-underline .main-nav,
  .site-header--menu-effect-simple-hover-highlight .main-nav,
  .site-header--menu-effect-glass-pill .main-nav,
  .site-header--menu-effect-dot-indicator .main-nav{
    position:relative;
    isolation:isolate;
    --pst-menu-effect-accent:var(--pst-header-menu-color, #fff);
    --pst-menu-effect-soft-bg:rgba(255,255,255,.10);
    --pst-menu-effect-panel-bg:var(--pst-header-shell-bg, #0f172a);
    --pst-menu-effect-panel-border:rgba(255,255,255,.14);
    --pst-menu-anchor-frost-bg:rgba(255,255,255,.17);
  }

  @supports (background: color-mix(in srgb, white 10%, transparent)){
    .site-header--menu-effect-modern-reveal .main-nav,
    .site-header--menu-effect-classic-underline .main-nav,
    .site-header--menu-effect-simple-hover-highlight .main-nav,
    .site-header--menu-effect-glass-pill .main-nav,
    .site-header--menu-effect-dot-indicator .main-nav{
      --pst-menu-effect-soft-bg:color-mix(in srgb, var(--pst-menu-effect-accent) 14%, transparent);
      --pst-menu-effect-panel-border:color-mix(in srgb, var(--pst-menu-effect-accent) 18%, transparent);
    }
  }

  .site-header--menu-effect-modern-reveal .main-nav #primary-menu-list,
  .site-header--menu-effect-classic-underline .main-nav #primary-menu-list,
  .site-header--menu-effect-simple-hover-highlight .main-nav #primary-menu-list,
  .site-header--menu-effect-anchor-positioning-navigation .main-nav #primary-menu-list,
  .site-header--menu-effect-glass-pill .main-nav #primary-menu-list,
  .site-header--menu-effect-dot-indicator .main-nav #primary-menu-list{
    position:relative;
    z-index:1;
    align-items:center;
  }

.site-header--menu-background-enabled:not(.site-header--menu-effect-simple-hover-highlight):not(.site-header--menu-effect-anchor-positioning-navigation) .main-nav #primary-menu-list{
    padding:4px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    background:var(--pst-menu-effect-bg, transparent);
    box-shadow:
      0 16px 36px rgba(0,0,0,.14),
      inset 0 1px 0 rgba(255,255,255,.12);
    -webkit-backdrop-filter:blur(16px) saturate(1.18);
    backdrop-filter:blur(16px) saturate(1.18);
  }

  @supports (corner-shape: squircle){
   .site-header--menu-background-enabled:not(.site-header--menu-effect-simple-hover-highlight):not(.site-header--menu-effect-anchor-positioning-navigation) .main-nav #primary-menu-list{
	  corner-shape:squircle;
	}
  }

  .site-header--menu-effect-simple-hover-highlight .main-nav{
    --pst-menu-anchor-hole-x:0px;
    --pst-menu-anchor-hole-y:0px;
    --pst-menu-anchor-hole-w:0px;
    --pst-menu-anchor-hole-h:0px;
    --pst-menu-anchor-hole-r:999px;
    --pst-menu-anchor-panel-radius:999px;
    --pst-menu-anchor-item-radius:999px;
    --pst-menu-anchor-glow-bg:var(--pst-menu-anchor-hover-bg, rgba(255,255,255,.18));
    width:fit-content;
    max-width:100%;
    padding:5px;
    border-radius:var(--pst-menu-anchor-panel-radius);
    overflow:visible;
    z-index:0;
  }

  @supports (corner-shape: squircle){
    .site-header--menu-effect-simple-hover-highlight .main-nav{
      corner-shape:squircle;
    }
  }

  .site-header--menu-effect-simple-hover-highlight .main-nav #primary-menu-list{
    display:flex;
    flex-wrap:nowrap;
    gap:0;
    z-index:2;
    padding:0;
    margin:0;
    list-style:none;
    background:transparent;
    box-shadow:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    overflow:visible;
  }

  .site-header--menu-effect-simple-hover-highlight .main-nav #primary-menu-list > li{
    position:relative;
    z-index:1;
  }

  .site-header--menu-effect-simple-hover-highlight .main-nav #primary-menu-list > li > a{
    display:flex;
    min-height:36px;
    padding:10px 14px;
    border-radius:var(--pst-menu-anchor-item-radius);
    background:transparent;
    box-shadow:none;
    transform:none;
    white-space:nowrap;
    overflow:visible;
    isolation:auto;
    transition:color .18s ease;
  }

  .site-header--menu-effect-modern-reveal .main-nav li,
  .site-header--menu-effect-classic-underline .main-nav li,
  .site-header--menu-effect-simple-hover-highlight .main-nav li,
  .site-header--menu-effect-glass-pill .main-nav li,
  .site-header--menu-effect-dot-indicator .main-nav li{
    position:relative;
  }

  .site-header--menu-effect-modern-reveal .main-nav a,
  .site-header--menu-effect-simple-hover-highlight .main-nav a,
  .site-header--menu-effect-glass-pill .main-nav a,
  .site-header--menu-effect-dot-indicator .main-nav a{
    border-radius:8px;
    overflow:hidden;
    isolation:isolate;
    transition:
      color .18s ease,
      background-color .18s ease,
      box-shadow .18s ease,
      transform .18s ease,
      opacity .18s ease;
  }

  .site-header:not(.site-header--menu-effect-classic-underline) .main-nav a::after{
    content:none;
  }

  .site-header--menu-effect-classic-underline .main-nav a::after{
    content:"";
    position:absolute;
    left:12px;
    right:12px;
    bottom:4px;
    height:1.5px;
    border-radius:999px;
    background:currentColor;
    opacity:0;
    transform:scaleX(.68);
    transform-origin:center;
    transition:
      opacity .18s ease,
      transform var(--pst-menu-underline-dur, 2s) cubic-bezier(.22,1,.36,1);
  }

  .site-header--menu-effect-classic-underline .main-nav a:hover::after,
  .site-header--menu-effect-classic-underline .main-nav a:focus-visible::after,
  .site-header--menu-effect-classic-underline .main-nav .current-menu-item > a::after,
  .site-header--menu-effect-classic-underline .main-nav .current_page_item > a::after,
  .site-header--menu-effect-classic-underline .main-nav .current-menu-ancestor > a::after{
    opacity:.92;
    transform:scaleX(1);
  }

	/* Modern reveal menu effect */
.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > li > a{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:transparent;
  box-shadow:none;
  transform:none;
}

.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > li > a::after{
  content:none;
}

.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > li > a[data-pst-menu-label]::before{
  content:attr(data-pst-menu-label);
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:currentColor;
  font:inherit;
  letter-spacing:inherit;
  line-height:inherit;
  white-space:nowrap;
  pointer-events:none;
  transform:translate3d(0, calc(110% + 10px), 0);
  transition:transform .56s cubic-bezier(.22, 1, .36, 1);
}

.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > li > a[data-pst-menu-label] > .main-nav__label{
  position:relative;
  z-index:1;
  display:block;
  white-space:nowrap;
  line-height:inherit;
  transform:translate3d(0, 0, 0);
  transition:transform .56s cubic-bezier(.22, 1, .36, 1);
}

.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > li:hover > a,
.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > li:focus-within > a,
.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > .current-menu-item > a,
.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > .current_page_item > a,
.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > .current-menu-ancestor > a{
  background:transparent;
  box-shadow:none;
  transform:none;
}

.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > .current-menu-item > a,
.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > .current_page_item > a,
.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > .current-menu-ancestor > a{
  color:var(--pst-modern-reveal-current-text, currentColor);
}

.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > .current-menu-item > a[data-pst-menu-label]::before,
.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > .current_page_item > a[data-pst-menu-label]::before,
.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > .current-menu-ancestor > a[data-pst-menu-label]::before{
  transform:translate3d(0, calc(110% + 10px), 0);
}

.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > .current-menu-item > a[data-pst-menu-label] > .main-nav__label,
.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > .current_page_item > a[data-pst-menu-label] > .main-nav__label,
.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > .current-menu-ancestor > a[data-pst-menu-label] > .main-nav__label{
  transform:translate3d(0, 0, 0);
}

.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > li:hover > a[data-pst-menu-label]::before,
.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > li:focus-within > a[data-pst-menu-label]::before{
  transform:translate3d(0, 0, 0);
}

.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > li:hover > a[data-pst-menu-label] > .main-nav__label,
.site-header--menu-effect-modern-reveal .main-nav #primary-menu-list > li:focus-within > a[data-pst-menu-label] > .main-nav__label{
  transform:translate3d(0, -168%, 0);
}

  .site-header--menu-effect-simple-hover-highlight .main-nav #primary-menu-list > li > a:hover,
  .site-header--menu-effect-simple-hover-highlight .main-nav #primary-menu-list > li > a:focus-visible{
    position:relative;
    display:flex;
    background:transparent;
    box-shadow:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }

  .site-header--menu-effect-simple-hover-highlight .main-nav #primary-menu-list > .current-menu-item > a,
  .site-header--menu-effect-simple-hover-highlight .main-nav #primary-menu-list > .current_page_item > a,
  .site-header--menu-effect-simple-hover-highlight .main-nav #primary-menu-list > .current-menu-ancestor > a{
    background:transparent;
    box-shadow:none;
  }

  .site-header--menu-effect-simple-hover-highlight .main-nav::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    border:1px solid transparent;
    border-radius:inherit;
    background:var(--pst-menu-effect-bg, transparent);
    box-shadow:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    pointer-events:none;
  }

  .site-header--menu-background-enabled.site-header--menu-effect-simple-hover-highlight .main-nav::after{
    border-color:rgba(255,255,255,.12);
    box-shadow:
      0 16px 36px rgba(0,0,0,.18),
      inset 0 1px 0 rgba(255,255,255,.12);
    -webkit-backdrop-filter:blur(16px) saturate(1.25);
    backdrop-filter:blur(16px) saturate(1.25);
  }

  .site-header--menu-effect-simple-hover-highlight .main-nav::before{
    content:"";
    position:absolute;
    z-index:1;
    border-radius:var(--pst-menu-anchor-item-radius);
    background:var(--pst-menu-anchor-glow-bg);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.18),
      0 8px 22px rgba(0,0,0,.14);
    opacity:0;
    pointer-events:none;
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
  }

  @supports (position-anchor: --pst-menu-anchor) and (top: anchor(top)){
    .site-header--menu-effect-simple-hover-highlight .main-nav #primary-menu-list:not(:has(> li:hover)):not(:has(> li:focus-within)){
      anchor-name:--pst-menu-anchor;
    }

    .site-header--menu-effect-simple-hover-highlight .main-nav #primary-menu-list > li:hover > a,
    .site-header--menu-effect-simple-hover-highlight .main-nav #primary-menu-list:not(:has(> li:hover)) > li:focus-within > a{
      anchor-name:--pst-menu-anchor;
    }

    .site-header--menu-effect-simple-hover-highlight .main-nav::before{
      position-anchor:--pst-menu-anchor;
      top:anchor(top);
      left:anchor(left);
      right:anchor(right);
      bottom:anchor(bottom);
      width:auto;
      height:auto;
      transition:
        top 500ms,
        right 500ms,
        bottom 500ms,
        left 500ms,
        opacity 140ms ease,
        border-radius 260ms ease;
      transition-timing-function:linear(
        0,
        0.008 1.1%,
        0.031 2.2%,
        0.129 4.8%,
        0.257 7.2%,
        0.671 14.2%,
        0.789 16.5%,
        0.881 18.6%,
        0.957 20.7%,
        1.019 22.9%,
        1.063 25.1%,
        1.094 27.4%,
        1.114 30.7%,
        1.112 34.5%,
        1.018 49.9%,
        0.99 59.1%,
        1
      );
    }

    .site-header--menu-effect-simple-hover-highlight .main-nav:has(#primary-menu-list > li:hover)::before,
    .site-header--menu-effect-simple-hover-highlight .main-nav:not(:has(#primary-menu-list > li:hover)):has(#primary-menu-list > li:focus-within)::before{
      opacity:1;
    }

    .site-header--menu-effect-simple-hover-highlight .main-nav:has(#primary-menu-list > li:first-child:hover)::before,
    .site-header--menu-effect-simple-hover-highlight .main-nav:not(:has(#primary-menu-list > li:hover)):has(#primary-menu-list > li:first-child:focus-within)::before{
      border-radius:999px 10px 10px 999px;
    }

    .site-header--menu-effect-simple-hover-highlight .main-nav:has(#primary-menu-list > li:last-child:hover)::before,
    .site-header--menu-effect-simple-hover-highlight .main-nav:not(:has(#primary-menu-list > li:hover)):has(#primary-menu-list > li:last-child:focus-within)::before{
      border-radius:10px 999px 999px 10px;
    }

    .site-header--menu-effect-simple-hover-highlight .main-nav:has(#primary-menu-list > li:first-child:last-child:hover)::before,
    .site-header--menu-effect-simple-hover-highlight .main-nav:not(:has(#primary-menu-list > li:hover)):has(#primary-menu-list > li:first-child:last-child:focus-within)::before{
      border-radius:var(--pst-menu-anchor-item-radius);
    }

    @supports (corner-shape: squircle){
      .site-header--menu-effect-simple-hover-highlight .main-nav::before,
      .site-header--menu-effect-simple-hover-highlight .main-nav::after{
        corner-shape:squircle;
      }
    }
  }

  @supports not ((position-anchor: --pst-menu-anchor) and (top: anchor(top))){
    .site-header--menu-effect-simple-hover-highlight .main-nav.is-anchor-fallback::before{
      top:var(--pst-menu-anchor-hole-y);
      left:var(--pst-menu-anchor-hole-x);
      right:auto;
      bottom:auto;
      width:var(--pst-menu-anchor-hole-w);
      height:var(--pst-menu-anchor-hole-h);
      border-radius:var(--pst-menu-anchor-hole-r);
      transition:
        left 420ms cubic-bezier(.22,1,.36,1),
        top 420ms cubic-bezier(.22,1,.36,1),
        width 420ms cubic-bezier(.22,1,.36,1),
        height 420ms cubic-bezier(.22,1,.36,1),
        opacity 140ms ease,
        border-radius 260ms ease;
    }

    .site-header--menu-effect-simple-hover-highlight .main-nav.is-anchor-fallback.is-anchor-hovering::before{
      opacity:1;
    }

    .site-header--menu-effect-simple-hover-highlight .main-nav.is-anchor-fallback.is-anchor-first::before{
      border-radius:999px 10px 10px 999px;
    }

    .site-header--menu-effect-simple-hover-highlight .main-nav.is-anchor-fallback.is-anchor-last::before{
      border-radius:10px 999px 999px 10px;
    }

    .site-header--menu-effect-simple-hover-highlight .main-nav.is-anchor-fallback.is-anchor-first.is-anchor-last::before{
      border-radius:var(--pst-menu-anchor-item-radius);
    }

    @supports (corner-shape: squircle){
      .site-header--menu-effect-simple-hover-highlight .main-nav.is-anchor-fallback::before,
      .site-header--menu-effect-simple-hover-highlight .main-nav.is-anchor-fallback::after{
        corner-shape:squircle;
      }
    }
  }

  .site-header--menu-effect-simple-hover-highlight .main-nav #primary-menu-list > li > a:hover,
  .site-header--menu-effect-simple-hover-highlight .main-nav #primary-menu-list > li > a:focus-visible{
    color:var(--pst-header-menu-color, #fff);
    background:transparent;
    box-shadow:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  
/* Anchor positioning navigation */
.site-header--menu-effect-anchor-positioning-navigation .main-nav{
  --pst-menu-anchor-hole-x:0px;
  --pst-menu-anchor-hole-y:0px;
  --pst-menu-anchor-hole-w:0px;
  --pst-menu-anchor-hole-h:0px;
  --pst-menu-anchor-hole-r:999px;

  --pst-menu-anchor-nav-panel-radius:999px;
  --pst-menu-anchor-nav-item-radius:999px;

  --pst-menu-anchor-nav-highlight-bg:rgba(255,255,255,.08);
  --pst-menu-anchor-nav-highlight-border:rgba(255,255,255,.18);
  --pst-menu-anchor-nav-line-color:rgba(255,255,255,.14);

  position:relative;
  width:fit-content;
  max-width:100%;
  padding:10px 12px 18px;
  border-radius:var(--pst-menu-anchor-nav-panel-radius);
  overflow:visible;
  isolation:isolate;
  z-index:0;
}

@supports (corner-shape: squircle){
  .site-header--menu-effect-anchor-positioning-navigation .main-nav{
    corner-shape:squircle;
  }
}

/* Menu shell */
.site-header--menu-effect-anchor-positioning-navigation .main-nav::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  border-radius:inherit;
  background:var(--pst-menu-effect-bg, rgba(5,5,5,.80));
  box-shadow:
    0 16px 36px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.10);
  -webkit-backdrop-filter:blur(12px) saturate(1.08);
  backdrop-filter:blur(12px) saturate(1.08);
}

/* Hover glass pill */
.site-header--menu-effect-anchor-positioning-navigation .main-nav::after{
  content:"";
  position:absolute;
  z-index:1;
  pointer-events:none;
  border-radius:999px;
  background:var(--pst-menu-anchor-nav-highlight-bg, rgba(255,255,255,.08));
  border:1px solid var(--pst-menu-anchor-nav-highlight-border, rgba(255,255,255,.18));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    0 12px 28px rgba(0,0,0,.16);
  -webkit-backdrop-filter:blur(12px) saturate(1.08);
  backdrop-filter:blur(12px) saturate(1.08);
  opacity:0;
  transition:
    top 500ms,
    right 500ms,
    bottom 500ms,
    left 500ms,
    width 420ms cubic-bezier(.22,1,.36,1),
    height 420ms cubic-bezier(.22,1,.36,1),
    opacity 140ms ease,
    border-radius 260ms ease;
  transition-timing-function:linear(
    0,
    0.008 1.1%,
    0.031 2.2%,
    0.129 4.8%,
    0.257 7.2%,
    0.671 14.2%,
    0.789 16.5%,
    0.881 18.6%,
    0.957 20.7%,
    1.019 22.9%,
    1.063 25.1%,
    1.094 27.4%,
    1.114 30.7%,
    1.112 34.5%,
    1.018 49.9%,
    0.99 59.1%,
    1
  );
}

/* Resting glass bar */
.site-header--menu-effect-anchor-positioning-navigation .main-nav #primary-menu-list::after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  bottom:4px;
  height:16px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid var(--pst-menu-anchor-nav-line-color, rgba(255,255,255,.14));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 10px 24px rgba(0,0,0,.14);
  -webkit-backdrop-filter:blur(12px) saturate(1.08);
  backdrop-filter:blur(12px) saturate(1.08);
  opacity:1;
  pointer-events:none;
  z-index:1;
}

@supports (corner-shape: squircle){
  .site-header--menu-effect-anchor-positioning-navigation .main-nav::before,
  .site-header--menu-effect-anchor-positioning-navigation .main-nav::after{
    corner-shape:squircle;
  }
}

.site-header--menu-effect-anchor-positioning-navigation .main-nav #primary-menu-list{
  position:relative;
  display:flex;
  flex-wrap:nowrap;
  gap:0;
  z-index:2;
  padding:0;
  margin:0;
  list-style:none;
  background:transparent;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  overflow:visible;
}

.site-header--menu-effect-anchor-positioning-navigation .main-nav #primary-menu-list > li{
  position:relative;
  z-index:2;
}

.site-header--menu-effect-anchor-positioning-navigation .main-nav #primary-menu-list > li > a{
  display:flex;
  min-height:46px;
  padding:12px 20px;
  border-radius:var(--pst-menu-anchor-nav-item-radius);
  background:transparent;
  box-shadow:none;
  transform:none;
  white-space:nowrap;
  overflow:visible;
  transition:color .18s ease;
}

/* Kill generic per-link underline for this effect */
.site-header--menu-effect-anchor-positioning-navigation .main-nav #primary-menu-list > li > a::after{
  content:none;
}

.site-header--menu-effect-anchor-positioning-navigation .main-nav #primary-menu-list > li > a:hover,
.site-header--menu-effect-anchor-positioning-navigation .main-nav #primary-menu-list > li > a:focus-visible,
.site-header--menu-effect-anchor-positioning-navigation .main-nav #primary-menu-list > .current-menu-item > a,
.site-header--menu-effect-anchor-positioning-navigation .main-nav #primary-menu-list > .current_page_item > a,
.site-header--menu-effect-anchor-positioning-navigation .main-nav #primary-menu-list > .current-menu-ancestor > a{
  background:transparent;
  box-shadow:none;
  outline:none;
}

@supports (position-anchor: --pst-menu-anchor-nav) and (top: anchor(top)){
  .site-header--menu-effect-anchor-positioning-navigation .main-nav #primary-menu-list > li:hover > a,
  .site-header--menu-effect-anchor-positioning-navigation .main-nav #primary-menu-list:not(:has(> li:hover)) > li:focus-within > a{
    anchor-name:--pst-menu-anchor-nav;
  }

  .site-header--menu-effect-anchor-positioning-navigation .main-nav:has(#primary-menu-list > li:hover)::after,
  .site-header--menu-effect-anchor-positioning-navigation .main-nav:not(:has(#primary-menu-list > li:hover)):has(#primary-menu-list > li:focus-within)::after{
    position-anchor:--pst-menu-anchor-nav;
    top:anchor(top);
    left:anchor(left);
    right:anchor(right);
    bottom:anchor(bottom);
    height:auto;
    background:var(--pst-menu-anchor-nav-highlight-bg, rgba(255,255,255,.06));
    border-color:var(--pst-menu-anchor-nav-highlight-border, rgba(255,255,255,.16));
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.14),
      0 12px 28px rgba(0,0,0,.16);
    -webkit-backdrop-filter:blur(12px) saturate(1.08);
    backdrop-filter:blur(12px) saturate(1.08);
  }
}

@supports not ((position-anchor: --pst-menu-anchor-nav) and (top: anchor(top))){
  .site-header--menu-effect-anchor-positioning-navigation .main-nav.is-anchor-fallback.is-anchor-hovering::after{
    top:var(--pst-menu-anchor-hole-y);
    left:var(--pst-menu-anchor-hole-x);
    right:auto;
    bottom:auto;
    width:var(--pst-menu-anchor-hole-w);
    height:var(--pst-menu-anchor-hole-h);
    border-radius:var(--pst-menu-anchor-hole-r);
    background:var(--pst-menu-anchor-nav-highlight-bg, rgba(255,255,255,.06));
    border-color:var(--pst-menu-anchor-nav-highlight-border, rgba(255,255,255,.16));
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.14),
      0 12px 28px rgba(0,0,0,.16);
    -webkit-backdrop-filter:blur(12px) saturate(1.08);
    backdrop-filter:blur(12px) saturate(1.08);
  }
}
  

  .site-header--menu-effect-glass-pill .main-nav #primary-menu-list > li > a{
    border:1px solid transparent;
  }

  .site-header--menu-effect-glass-pill .main-nav #primary-menu-list > li > a:hover,
  .site-header--menu-effect-glass-pill .main-nav #primary-menu-list > li > a:focus-visible,
  .site-header--menu-effect-glass-pill .main-nav #primary-menu-list > .current-menu-item > a,
  .site-header--menu-effect-glass-pill .main-nav #primary-menu-list > .current_page_item > a,
  .site-header--menu-effect-glass-pill .main-nav #primary-menu-list > .current-menu-ancestor > a{
    background:rgba(255,255,255,.12);
    border-color:var(--pst-menu-effect-panel-border);
    box-shadow:0 12px 28px rgba(15,23,42,.12), inset 0 1px 0 rgba(255,255,255,.18);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
    transform:translateY(-1px);
  }

  @supports (background: color-mix(in srgb, white 10%, transparent)){
    .site-header--menu-effect-glass-pill .main-nav #primary-menu-list > li > a:hover,
    .site-header--menu-effect-glass-pill .main-nav #primary-menu-list > li > a:focus-visible,
    .site-header--menu-effect-glass-pill .main-nav #primary-menu-list > .current-menu-item > a,
    .site-header--menu-effect-glass-pill .main-nav #primary-menu-list > .current_page_item > a,
    .site-header--menu-effect-glass-pill .main-nav #primary-menu-list > .current-menu-ancestor > a{
      background:color-mix(in srgb, var(--pst-menu-effect-accent) 12%, transparent);
    }
  }

  .site-header--menu-effect-dot-indicator .main-nav #primary-menu-list > li > a{
    padding-bottom:13px;
  }

  .site-header--menu-effect-dot-indicator .main-nav #primary-menu-list > li > a::before{
    content:"";
    position:absolute;
    left:50%;
    bottom:4px;
    width:5px;
    height:5px;
    border-radius:50%;
    background:var(--pst-menu-dot-hover-color, #6ea117);
    opacity:0;
    transform:translateX(-50%) translateY(5px) scale(.5);
    transition:opacity .18s ease, transform .24s cubic-bezier(.22,1,.36,1);
  }

  .site-header--menu-effect-dot-indicator .main-nav #primary-menu-list > li > a:hover,
  .site-header--menu-effect-dot-indicator .main-nav #primary-menu-list > li > a:focus-visible,
  .site-header--menu-effect-dot-indicator .main-nav #primary-menu-list > .current-menu-item > a,
  .site-header--menu-effect-dot-indicator .main-nav #primary-menu-list > .current_page_item > a,
  .site-header--menu-effect-dot-indicator .main-nav #primary-menu-list > .current-menu-ancestor > a{
    background:transparent;
    color:var(--pst-menu-dot-hover-color, #6ea117);
    box-shadow:none;
  }

  .site-header--menu-effect-dot-indicator .main-nav #primary-menu-list > li > a:hover::before,
  .site-header--menu-effect-dot-indicator .main-nav #primary-menu-list > li > a:focus-visible::before,
  .site-header--menu-effect-dot-indicator .main-nav #primary-menu-list > .current-menu-item > a::before,
  .site-header--menu-effect-dot-indicator .main-nav #primary-menu-list > .current_page_item > a::before,
  .site-header--menu-effect-dot-indicator .main-nav #primary-menu-list > .current-menu-ancestor > a::before{
    opacity:.95;
    transform:translateX(-50%) translateY(0) scale(1);
  }

  .site-header--menu-effect-modern-reveal .main-nav .sub-menu,
	.site-header--menu-effect-classic-underline .main-nav .sub-menu,
	.site-header--menu-effect-simple-hover-highlight .main-nav .sub-menu,
	.site-header--menu-effect-anchor-positioning-navigation .main-nav .sub-menu,
	.site-header--menu-effect-glass-pill .main-nav .sub-menu,
	.site-header--menu-effect-dot-indicator .main-nav .sub-menu{
    position:absolute;
    top:calc(100% + 10px);
    right:0;
    left:auto;
    z-index:70;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:6px;
    width:max-content;
    min-width:220px;
    max-width:min(320px, calc(100vw - 32px));
    margin:0;
    padding:10px;
    list-style:none;
    border:1px solid var(--pst-menu-effect-panel-border);
    border-radius:8px;
    background:var(--pst-menu-effect-panel-bg);
    box-shadow:0 22px 46px rgba(15,23,42,.20);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(8px);
    transition:opacity .18s ease, transform .22s cubic-bezier(.22,1,.36,1), visibility .18s ease;
  }

  .site-header--menu-effect-modern-reveal .main-nav li:hover > .sub-menu,
  .site-header--menu-effect-modern-reveal .main-nav li:focus-within > .sub-menu,
  .site-header--menu-effect-classic-underline .main-nav li:hover > .sub-menu,
  .site-header--menu-effect-classic-underline .main-nav li:focus-within > .sub-menu,
  .site-header--menu-effect-simple-hover-highlight .main-nav li:hover > .sub-menu,
  .site-header--menu-effect-simple-hover-highlight .main-nav li:focus-within > .sub-menu,
  .site-header--menu-effect-glass-pill .main-nav li:hover > .sub-menu,
  .site-header--menu-effect-glass-pill .main-nav li:focus-within > .sub-menu,
  .site-header--menu-effect-dot-indicator .main-nav li:hover > .sub-menu,
  .site-header--menu-effect-dot-indicator .main-nav li:focus-within > .sub-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }

  .site-header--menu-effect-modern-reveal .main-nav .sub-menu .sub-menu,
  .site-header--menu-effect-classic-underline .main-nav .sub-menu .sub-menu,
  .site-header--menu-effect-simple-hover-highlight .main-nav .sub-menu .sub-menu,
  .site-header--menu-effect-glass-pill .main-nav .sub-menu .sub-menu,
  .site-header--menu-effect-dot-indicator .main-nav .sub-menu .sub-menu{
    top:-10px;
    right:calc(100% + 10px);
  }

  .site-header--menu-effect-modern-reveal .main-nav .sub-menu a,
  .site-header--menu-effect-classic-underline .main-nav .sub-menu a,
  .site-header--menu-effect-simple-hover-highlight .main-nav .sub-menu a,
  .site-header--menu-effect-glass-pill .main-nav .sub-menu a,
  .site-header--menu-effect-dot-indicator .main-nav .sub-menu a{
    justify-content:flex-start;
    width:100%;
    padding:9px 10px;
    border-radius:6px;
    font-size:13px;
    line-height:1.25;
    text-align:left;
    white-space:normal;
    overflow-wrap:anywhere;
  }

  .site-header--menu-effect-modern-reveal .main-nav .sub-menu a:hover,
  .site-header--menu-effect-modern-reveal .main-nav .sub-menu a:focus-visible,
  .site-header--menu-effect-classic-underline .main-nav .sub-menu a:hover,
  .site-header--menu-effect-classic-underline .main-nav .sub-menu a:focus-visible,
  .site-header--menu-effect-simple-hover-highlight .main-nav .sub-menu a:hover,
  .site-header--menu-effect-simple-hover-highlight .main-nav .sub-menu a:focus-visible,
  .site-header--menu-effect-glass-pill .main-nav .sub-menu a:hover,
  .site-header--menu-effect-glass-pill .main-nav .sub-menu a:focus-visible,
  .site-header--menu-effect-dot-indicator .main-nav .sub-menu a:hover,
  .site-header--menu-effect-dot-indicator .main-nav .sub-menu a:focus-visible{
    background:var(--pst-menu-effect-soft-bg);
    box-shadow:none;
    transform:none;
  }
}

@media (max-width: 640px){
  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open{
    background:var(--pst-mobile-drawer-bg, #f8fafc);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }

  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav{
    inset:0;
    right:auto;
    width:100%;
    max-width:none;
    height:100dvh;
    padding:92px 22px 34px;
    display:grid;
    align-content:center;
    background:var(--pst-mobile-drawer-bg, #f8fafc);
    box-shadow:none;
  }

  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav ul{
    width:min(100%, 420px);
    margin:0 auto;
    gap:10px;
    align-items:stretch;
  }

  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav li{
    overflow:hidden;
  }

  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav a{
    border-radius:8px;
    padding:12px 10px;
    color:var(--pst-mobile-drawer-text, #0f172a);
    font-size:28px;
    line-height:1.08;
    font-weight:900;
    letter-spacing:0;
    text-align:center;
    text-shadow:0 1px 0 var(--pst-mobile-drawer-text-shadow, transparent);
    opacity:0;
    transform:translateY(18px);
    animation:pst-mobile-menu-item-in .42s cubic-bezier(.22,1,.36,1) forwards;
  }

  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav a:hover,
  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav a:focus-visible,
  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav .current-menu-item > a,
  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav .current_page_item > a,
  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav .current-menu-ancestor > a{
    background:var(--pst-mobile-drawer-active-bg, #e7edf4);
    color:var(--pst-mobile-drawer-active-text, #0b1220);
    box-shadow:inset 0 0 0 1px rgba(15,23,42,.06);
  }

  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav li:nth-child(1) > a{ animation-delay:.04s; }
  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav li:nth-child(2) > a{ animation-delay:.08s; }
  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav li:nth-child(3) > a{ animation-delay:.12s; }
  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav li:nth-child(4) > a{ animation-delay:.16s; }
  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav li:nth-child(5) > a{ animation-delay:.20s; }
  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav li:nth-child(6) > a{ animation-delay:.24s; }
  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav li:nth-child(7) > a{ animation-delay:.28s; }
  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav li:nth-child(8) > a{ animation-delay:.32s; }

  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav .sub-menu{
    margin-top:8px;
    gap:6px;
  }

  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav .sub-menu a{
    font-size:16px;
    font-weight:800;
    padding:9px 10px;
  }

  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .nav-toggle{
    background:var(--pst-mobile-drawer-close-bg, #eef2f7);
    box-shadow:0 16px 34px rgba(15,23,42,.14);
  }

  @keyframes pst-mobile-menu-item-in{
    to{
      opacity:1;
      transform:translateY(0);
    }
  }
}

@media (min-width: 641px) and (max-width: 750px){
  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open{
    background:var(--pst-mobile-drawer-bg, #f8fafc);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }

  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav{
    inset:0;
    right:auto;
    width:100%;
    max-width:none;
    height:100dvh;
    padding:92px 22px 34px;
    display:grid !important;
    align-content:center;
    background:var(--pst-mobile-drawer-bg, #f8fafc);
    box-shadow:none;
    border-left:none;
  }

  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav ul{
    width:min(100%, 420px);
    margin:0 auto;
    gap:10px;
    align-items:stretch;
  }

  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav li{
    overflow:hidden;
  }

  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav a{
    border-radius:8px;
    padding:12px 10px;
    color:var(--pst-mobile-drawer-text, #0f172a);
    font-size:28px;
    line-height:1.08;
    font-weight:900;
    letter-spacing:0;
    text-align:center;
    text-shadow:0 1px 0 var(--pst-mobile-drawer-text-shadow, transparent);
    opacity:0;
    transform:translateY(18px);
    animation:pst-mobile-menu-item-in .42s cubic-bezier(.22,1,.36,1) forwards;
  }

  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav a:hover,
  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav a:focus-visible,
  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav .current-menu-item > a,
  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav .current_page_item > a,
  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav .current-menu-ancestor > a{
    background:var(--pst-mobile-drawer-active-bg, #e7edf4);
    color:var(--pst-mobile-drawer-active-text, #0b1220);
    box-shadow:inset 0 0 0 1px rgba(15,23,42,.06);
  }

  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav li:nth-child(1) > a{ animation-delay:.04s; }
  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav li:nth-child(2) > a{ animation-delay:.08s; }
  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav li:nth-child(3) > a{ animation-delay:.12s; }
  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav li:nth-child(4) > a{ animation-delay:.16s; }
  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav li:nth-child(5) > a{ animation-delay:.20s; }
  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav li:nth-child(6) > a{ animation-delay:.24s; }
  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav li:nth-child(7) > a{ animation-delay:.28s; }
  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav li:nth-child(8) > a{ animation-delay:.32s; }

  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav .sub-menu{
    margin-top:8px;
    gap:6px;
    padding-left:0;
  }

  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav .sub-menu a{
    font-size:16px;
    font-weight:800;
    padding:9px 10px;
  }

  .site-header.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .nav-toggle{
    background:var(--pst-mobile-drawer-close-bg, #eef2f7);
    box-shadow:0 16px 34px rgba(15,23,42,.14);
  }

  @keyframes pst-mobile-menu-item-in{
    to{
      opacity:1;
      transform:translateY(0);
    }
  }
}

@media (min-width: 641px) and (max-width: 750px){
  .site-header--mobile-template{
    --pst-mobile-drawer-top-offset: 0px;
  }

  .site-header--mobile-template:has(.header-mobile-top){
    --pst-mobile-drawer-top-offset: 44px;
  }

  .site-header--mobile-template .nav-toggle{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    padding:0;
    border:1px solid rgba(15,23,42,.08);
    border-radius:16px;
    background:var(--pst-mobile-menu-btn-bg, #f8fafc);
    color:var(--pst-mobile-menu-btn-icon, #0f172a);
    cursor:pointer;
    box-shadow:0 8px 18px rgba(15,23,42,.08);
  }

  .site-header--mobile-template .main-nav{
    display:none !important;
  }

  .site-header--mobile-template .header-right.is-open{
    position:fixed !important;
    top:var(--pst-mobile-drawer-top-offset) !important;
    right:0 !important;
    bottom:0 !important;
    left:0 !important;
    width:100vw !important;
    height:calc(100dvh - var(--pst-mobile-drawer-top-offset)) !important;
    margin:0 !important;
    padding:0 !important;
    z-index:9999 !important;
    display:block !important;
    background:rgba(15,23,42,.30) !important;
    -webkit-backdrop-filter:blur(8px) saturate(1.04) !important;
    backdrop-filter:blur(8px) saturate(1.04) !important;
  }

  .site-header--mobile-template .header-right.is-open .nav-toggle{
    position:fixed !important;
    top:calc(var(--pst-mobile-drawer-top-offset) + 18px) !important;
    right:18px !important;
    z-index:10001 !important;
    width:56px;
    height:56px;
    border-radius:18px;
    border:1px solid rgba(15,23,42,.08);
    background:var(--pst-mobile-drawer-close-bg, #eef2f7) !important;
    color:var(--pst-mobile-drawer-close-icon, #0f172a) !important;
    box-shadow:0 14px 28px rgba(15,23,42,.14);
  }

  .site-header--mobile-template .header-right.is-open .nav-toggle__icon span:nth-child(1){
    transform:translateY(8px) rotate(45deg);
  }

  .site-header--mobile-template .header-right.is-open .nav-toggle__icon span:nth-child(2){
    opacity:0;
  }

  .site-header--mobile-template .header-right.is-open .nav-toggle__icon span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
  }

  .site-header--mobile-template .header-right.is-open .main-nav{
    display:block !important;
    position:fixed !important;
    top:var(--pst-mobile-drawer-top-offset) !important;
    right:0 !important;
    bottom:0 !important;
    left:auto !important;
    width:min(88vw, 372px) !important;
    max-width:none !important;
    height:calc(100dvh - var(--pst-mobile-drawer-top-offset)) !important;
    padding:96px 20px 28px !important;
    background:var(--pst-mobile-drawer-bg, #f8fafc) !important;
    border-left:1px solid rgba(15,23,42,.08);
    box-shadow:-24px 0 54px rgba(15,23,42,.16);
    overflow:auto;
  }

  .site-header--mobile-template .header-right.is-open .main-nav ul{
    list-style:none;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:12px;
    margin:0;
    padding:0;
    max-width:none;
    white-space:normal;
  }

  .site-header--mobile-template .header-right.is-open .main-nav li{
    width:100%;
    margin:0;
    display:block;
  }

  .site-header--mobile-template .header-right.is-open .main-nav a{
    display:block;
    width:100%;
    padding:16px 14px;
    border-radius:16px;
    background:transparent;
    color:var(--pst-mobile-drawer-text, #0f172a);
    font-size:18px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:-.01em;
    text-align:left;
    text-shadow:0 1px 0 var(--pst-mobile-drawer-text-shadow, transparent);
    transition:background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
  }

  .site-header--mobile-template .header-right.is-open .main-nav a:hover,
  .site-header--mobile-template .header-right.is-open .main-nav a:focus-visible{
    background:var(--pst-mobile-drawer-active-bg, #e7edf4);
    color:var(--pst-mobile-drawer-active-text, #0b1220);
  }

  .site-header--mobile-template .header-right.is-open .main-nav .current-menu-item > a,
  .site-header--mobile-template .header-right.is-open .main-nav .current_page_item > a,
  .site-header--mobile-template .header-right.is-open .main-nav .current-menu-ancestor > a{
    background:var(--pst-mobile-drawer-active-bg, #e7edf4);
    color:var(--pst-mobile-drawer-active-text, #0b1220);
    box-shadow:inset 0 0 0 1px rgba(15,23,42,.04);
  }

  .site-header--mobile-template .header-right.is-open .main-nav a::before,
  .site-header--mobile-template .header-right.is-open .main-nav a::after{
    content:none !important;
    display:none !important;
  }

  .site-header--mobile-template .header-right.is-open .main-nav .main-nav__label{
    display:inline !important;
    transform:none !important;
    transition:none !important;
  }

  .site-header--mobile-template .header-right.is-open .main-nav .sub-menu{
    position:static !important;
    display:flex;
    flex-direction:column;
    gap:8px;
    margin:8px 0 0;
    padding:0 0 0 12px;
    min-width:0;
    box-shadow:none;
    background:transparent;
    opacity:1;
    visibility:visible;
    transform:none;
  }

  .site-header--mobile-template .header-right.is-open .main-nav .sub-menu a{
    font-size:16px;
    font-weight:700;
    padding:10px 12px;
  }
}

.site-header{
  --pst-mobile-drawer-top-offset:0px;
}

@media (min-width: 641px) and (max-width: 750px){
  .site-header .header-right.is-open .nav-toggle{
    top:calc(var(--pst-mobile-drawer-top-offset) + 18px) !important;
  }

  .site-header .header-right.is-open .main-nav{
    top:var(--pst-mobile-drawer-top-offset) !important;
    height:calc(100dvh - var(--pst-mobile-drawer-top-offset)) !important;
  }
}

@media (max-width: 380px){
  .site-header--mobile-template.site-header--mobile-menu-effect-fullscreen-stagger .header-right.is-open .main-nav a{
    font-size:24px;
  }
}

@media (prefers-reduced-motion: reduce){
  .site-header--menu-effect-modern-reveal .main-nav *,
  .site-header--menu-effect-modern-reveal .main-nav a::after,
  .site-header--menu-effect-classic-underline .main-nav *,
  .site-header--menu-effect-simple-hover-highlight .main-nav::before,
  .site-header--menu-effect-simple-hover-highlight .main-nav *,
  .site-header--menu-effect-glass-pill .main-nav *,
  .site-header--menu-effect-dot-indicator .main-nav *,
  .site-header--mobile-menu-effect-fullscreen-stagger .main-nav *{
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
}

@media (min-width: 641px){
  body.has-pst-alternative-hero:not(.has-pst-alternative-hero-complete) .site-header.site-header--front-page,
  body.has-pst-alternative-hero:not(.has-pst-alternative-hero-complete) .site-header.site-header--front-page.is-scrolled{
    background:transparent !important;
    box-shadow:none !important;
  }

  body.has-pst-alternative-hero:not(.has-pst-alternative-hero-complete) .site-header.site-header--front-page .header-shell{
    background:transparent !important;
    box-shadow:none !important;
  }

  body.has-pst-alternative-hero:not(.has-pst-alternative-hero-complete) .site-header.site-header--front-page .header-shell::before{
    opacity:0 !important;
  }

  body.has-pst-alternative-hero:not(.has-pst-alternative-hero-complete) .site-header.site-header--front-page .header-shell::after{
    opacity:0 !important;
  }

  body.has-pst-alternative-hero:not(.has-pst-alternative-hero-complete) .site-header.site-header--front-page .header-compact-bar,
  body.has-pst-alternative-hero:not(.has-pst-alternative-hero-complete) .site-header.site-header--front-page.is-scrolled .header-compact-bar,
  body.has-pst-alternative-hero:not(.has-pst-alternative-hero-complete) .site-header.site-header--front-page .header-main-row,
  body.has-pst-alternative-hero:not(.has-pst-alternative-hero-complete) .site-header.site-header--front-page.is-scrolled .header-main-row{
    background-color:transparent !important;
  }

  .site-header.site-header--front-page + .site-main .home-above-fold.home-above-fold--alternative-hero{
    height:auto;
    min-height:0;
  }

  .site-header.site-header--front-page + .site-main .home-above-fold.home-above-fold--alternative-hero .hero-v2--standard{
    display:none;
  }

  body.has-pst-alternative-hero .pst-ai-assistant.pst-ai-assistant--front-page{
    bottom:28px;
  }
}
