/* ==========================================================================
   PRM Design Layer 2.0  ·  Screen design "V4"
   Delivered by the system plugin plg_system_prmtheme — Helix Ultimate and
   SP Page Builder stay untouched and updateable.

   Fonts: Manrope (headings) and Figtree (text) are self-hosted by the template
   and imported in the template's CSS. This file only DECLARES font-family.

   1 Tokens · 2 Icons · 3 Base · 4 Helix (header/nav/offcanvas) · 5 Layout
   6 Buttons · 7 Heroes · 8 Sections & components · 9 Modules (header CTA, footer)
   10 Forms · 11 Responsive
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root{
  /* Graphite scale (UI neutrals) */
  --prm-graphite-50:#f3f5f7;--prm-graphite-100:#e6e9ed;--prm-graphite-200:#ccd2d9;--prm-graphite-300:#aab3bd;
  --prm-graphite-400:#828d99;--prm-graphite-500:#626d7a;--prm-graphite-600:#454e5c;--prm-graphite-700:#363d49;
  --prm-graphite-800:#2a2f39;--prm-graphite-900:#1b1f27;--prm-graphite-950:#11141a;
  /* Accent (logo blue) */
  --prm-accent:#105090;--prm-accent-hover:#0c3f72;--prm-accent-soft:#dbe8f5;--prm-band-blue:#0f3f72;
  /* Neutrals */
  --prm-ink:#111414;--prm-white:#fff;
  --prm-slate-50:#f7f8fa;--prm-slate-100:#eff1f4;--prm-slate-200:#e2e5ea;--prm-slate-300:#c4c9d1;
  --prm-slate-400:#9aa1ad;--prm-slate-500:#727a89;--prm-slate-600:#545c6b;--prm-slate-700:#3a414f;
  --prm-slate-800:#262b36;--prm-slate-900:#171a21;
  /* Semantic */
  --color-primary:var(--prm-graphite-600);--color-primary-hover:var(--prm-graphite-700);--color-primary-active:var(--prm-graphite-800);
  --text-strong:var(--prm-ink);--text-body:var(--prm-slate-700);--text-muted:var(--prm-slate-500);--text-on-primary:#fff;
  --surface-page:#fff;--surface-subtle:var(--prm-slate-50);--surface-tint:var(--prm-graphite-50);--surface-invert:var(--prm-graphite-900);
  --border-subtle:var(--prm-slate-200);--border-strong:var(--prm-slate-300);
  /* Type */
  --font-display:'Manrope','Figtree',system-ui,sans-serif;
  --font-text:'Figtree',system-ui,-apple-system,sans-serif;
  --fs-display-l:clamp(2.5rem,4.5vw,4rem);--fs-h1:clamp(2.25rem,3.5vw,3.25rem);--fs-h2:clamp(1.75rem,2.6vw,2.5rem);
  --fs-h3:clamp(1.375rem,1.8vw,1.75rem);--fs-h4:1.25rem;--fs-lead:1.25rem;--fs-body:1.0625rem;--fs-sm:.9375rem;
  --fs-xs:.8125rem;--fs-eyebrow:.8125rem;
  --fw-medium:500;--fw-semibold:600;--fw-bold:700;
  --lh-snug:1.18;--lh-normal:1.6;--ls-tight:-.03em;--ls-snug:-.015em;--ls-eyebrow:.14em;
  /* Space & layout */
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;
  --space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;
  --section-y:clamp(64px,9vw,128px);--content-max:1200px;--content-narrow:760px;--gutter:clamp(20px,5vw,64px);
  --header-h:76px;
  /* Effects — square corners everywhere */
  --shadow-xs:0 1px 2px rgba(17,20,20,.05);--shadow-sm:0 2px 6px rgba(17,20,20,.06);
  --shadow-md:0 8px 24px -8px rgba(17,20,20,.12);--shadow-lg:0 20px 48px -16px rgba(0,26,102,.18);
  --shadow-primary:0 10px 28px -10px rgba(27,31,39,.45);--shadow-focus:0 0 0 3px rgba(69,78,92,.30);
  --ease-out:cubic-bezier(.22,1,.36,1);--dur-fast:140ms;--dur-base:220ms;
}

/* ---------- 2. Icons (CSS masks — no icon font, no inline SVG needed) ---------- */
:root{
  --ico-phone:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72%2012.84%2012.84%200%200%200%20.7%202.81%202%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.27-1.27a2%202%200%200%201%202.11-.45%2012.84%2012.84%200%200%200%202.81.7A2%202%200%200%201%2022%2016.92z'/%3E%3C/svg%3E");
  --ico-arrow-right:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M5%2012h14'/%3E%3Cpath%20d='m12%205%207%207-7%207'/%3E%3C/svg%3E");
  --ico-send:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M14.536%2021.686a.5.5%200%200%200%20.937-.024l6.5-19a.496.496%200%200%200-.635-.635l-19%206.5a.5.5%200%200%200-.024.937l7.93%203.18a2%202%200%200%201%201.112%201.11z'/%3E%3Cpath%20d='m21.854%202.147-10.94%2010.939'/%3E%3C/svg%3E");
  --ico-shield-check:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M20%2013c0%205-3.5%207.5-7.66%208.95a1%201%200%200%201-.67-.01C7.5%2020.5%204%2018%204%2013V6a1%201%200%200%201%201-1c2%200%204.5-1.2%206.24-2.72a1.17%201.17%200%200%201%201.52%200C14.51%203.81%2017%205%2019%205a1%201%200%200%201%201%201z'/%3E%3Cpath%20d='m9%2012%202%202%204-4'/%3E%3C/svg%3E");
  --ico-check-circle-2:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='10'/%3E%3Cpath%20d='m9%2012%202%202%204-4'/%3E%3C/svg%3E");
  --ico-chevron-down:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m6%209%206%206%206-6'/%3E%3C/svg%3E");
  --ico-chevron-right:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m9%2018%206-6-6-6'/%3E%3C/svg%3E");
  --ico-mail:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20width='20'%20height='16'%20x='2'%20y='4'%20rx='2'/%3E%3Cpath%20d='m22%207-8.97%205.7a1.94%201.94%200%200%201-2.06%200L2%207'/%3E%3C/svg%3E");
  --ico-user:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M19%2021v-2a4%204%200%200%200-4-4H9a4%204%200%200%200-4%204v2'/%3E%3Ccircle%20cx='12'%20cy='7'%20r='4'/%3E%3C/svg%3E");
  --ico-zap:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%2014a1%201%200%200%201-.78-1.63l9.9-10.2a.5.5%200%200%201%20.86.46l-1.92%206.02A1%201%200%200%200%2013%2010h7a1%201%200%200%201%20.78%201.63l-9.9%2010.2a.5.5%200%200%201-.86-.46l1.92-6.02A1%201%200%200%200%2011%2014z'/%3E%3C/svg%3E");
  --ico-user-round:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='8'%20r='5'/%3E%3Cpath%20d='M20%2021a8%208%200%200%200-16%200'/%3E%3C/svg%3E");
  --ico-flag:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%2015s1-1%204-1%205%202%208%202%204-1%204-1V3s-1%201-4%201-5-2-8-2-4%201-4%201z'/%3E%3Cline%20x1='4'%20x2='4'%20y1='22'%20y2='15'/%3E%3C/svg%3E");
  --ico-flag-triangle-right:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M7%2022V2l10%205-10%205'/%3E%3C/svg%3E");
  --ico-calculator:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20width='16'%20height='20'%20x='4'%20y='2'%20rx='2'/%3E%3Cline%20x1='8'%20x2='16'%20y1='6'%20y2='6'/%3E%3Cline%20x1='16'%20x2='16'%20y1='14'%20y2='18'/%3E%3Cpath%20d='M16%2010h.01'/%3E%3Cpath%20d='M12%2010h.01'/%3E%3Cpath%20d='M8%2010h.01'/%3E%3Cpath%20d='M12%2014h.01'/%3E%3Cpath%20d='M8%2014h.01'/%3E%3Cpath%20d='M12%2018h.01'/%3E%3Cpath%20d='M8%2018h.01'/%3E%3C/svg%3E");
  --ico-clipboard-check:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20width='8'%20height='4'%20x='8'%20y='2'%20rx='1'%20ry='1'/%3E%3Cpath%20d='M16%204h2a2%202%200%200%201%202%202v14a2%202%200%200%201-2%202H6a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2h2'/%3E%3Cpath%20d='m9%2014%202%202%204-4'/%3E%3C/svg%3E");
  --ico-file-check:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M15%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V7Z'/%3E%3Cpath%20d='M14%202v4a2%202%200%200%200%202%202h4'/%3E%3Cpath%20d='m9%2015%202%202%204-4'/%3E%3C/svg%3E");
  --ico-handshake:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m11%2017%202%202a1%201%200%201%200%203-3'/%3E%3Cpath%20d='m14%2014%202.5%202.5a1%201%200%201%200%203-3l-3.88-3.88a3%203%200%200%200-4.24%200l-.88.88a1%201%200%201%201-3-3l2.81-2.81a5.79%205.79%200%200%201%207.06-.87l.47.28a2%202%200%200%200%201.42.25L21%204'/%3E%3Cpath%20d='m21%203%201%2011h-2'/%3E%3Cpath%20d='M3%203%202%2014l6.5%206.5a1%201%200%201%200%203-3'/%3E%3Cpath%20d='M3%204h8'/%3E%3C/svg%3E");
  --ico-users:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2'/%3E%3Ccircle%20cx='9'%20cy='7'%20r='4'/%3E%3Cpath%20d='M22%2021v-2a4%204%200%200%200-3-3.87'/%3E%3Cpath%20d='M16%203.13a4%204%200%200%201%200%207.75'/%3E%3C/svg%3E");
  --ico-graduation-cap:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M21.42%2010.922a1%201%200%200%200-.019-1.838L12.83%205.18a2%202%200%200%200-1.66%200L2.6%209.08a1%201%200%200%200%200%201.832l8.57%203.908a2%202%200%200%200%201.66%200z'/%3E%3Cpath%20d='M22%2010v6'/%3E%3Cpath%20d='M6%2012.5V16a6%203%200%200%200%2012%200v-3.5'/%3E%3C/svg%3E");
  --ico-arrow-up:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m5%2012%207-7%207%207'/%3E%3Cpath%20d='M12%2019V5'/%3E%3C/svg%3E");
}
.prm-i{display:inline-block;flex:none;width:1em;height:1em;vertical-align:-.125em;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.prm-i--phone{--ico:var(--ico-phone)}
.prm-i--arrow-right{--ico:var(--ico-arrow-right)}
.prm-i--send{--ico:var(--ico-send)}
.prm-i--shield-check{--ico:var(--ico-shield-check)}
.prm-i--check-circle-2{--ico:var(--ico-check-circle-2)}
.prm-i--chevron-down{--ico:var(--ico-chevron-down)}
.prm-i--chevron-right{--ico:var(--ico-chevron-right)}
.prm-i--mail{--ico:var(--ico-mail)}
.prm-i--user{--ico:var(--ico-user)}
.prm-i--zap{--ico:var(--ico-zap)}
.prm-i--user-round{--ico:var(--ico-user-round)}
.prm-i--flag{--ico:var(--ico-flag)}
.prm-i--flag-triangle-right{--ico:var(--ico-flag-triangle-right)}
.prm-i--calculator{--ico:var(--ico-calculator)}
.prm-i--clipboard-check{--ico:var(--ico-clipboard-check)}
.prm-i--file-check{--ico:var(--ico-file-check)}
.prm-i--handshake{--ico:var(--ico-handshake)}
.prm-i--users{--ico:var(--ico-users)}
.prm-i--graduation-cap{--ico:var(--ico-graduation-cap)}
.prm-i--arrow-up{--ico:var(--ico-arrow-up)}

/* ---------- 3. Base ---------- */
body{font-family:var(--font-text);font-size:var(--fs-body);line-height:var(--lh-normal);color:var(--text-body);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6,.sppb-addon-title{font-family:var(--font-display);font-weight:var(--fw-medium);color:var(--text-strong);line-height:var(--lh-snug);letter-spacing:var(--ls-tight);text-wrap:balance}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}
p{margin:0 0 1em;text-wrap:pretty}
a{color:var(--prm-accent);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}
a:hover{color:var(--prm-accent-hover)}
strong{font-weight:var(--fw-semibold);color:var(--text-strong)}
::selection{background:var(--prm-graphite-200);color:var(--prm-graphite-900)}
.sppb-addon-text-block .sppb-addon-content>*:last-child{margin-bottom:0}

/* ---------- 4. Helix: header, navigation, off-canvas ---------- */
#sp-header{height:var(--header-h);background:rgba(255,255,255,.88);-webkit-backdrop-filter:saturate(160%) blur(12px);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--border-subtle);box-shadow:none;display:flex;align-items:center}
#sp-header.header-sticky{box-shadow:var(--shadow-sm)}
#sp-header .container{max-width:var(--content-max);padding-left:var(--gutter);padding-right:var(--gutter);box-sizing:border-box}
#sp-header .container,#sp-header .sp-column{display:flex;align-items:center}
#sp-header .logo,#sp-header a.logo{display:flex;align-items:center}
#sp-header .logo img{height:34px;width:auto;max-width:none;display:block}
/* Nav — intentionally NOT scoped under #sp-menu: whether the menu module sits inside an
   element with id="sp-menu" depends on the header preset; .sp-megamenu-parent alone works everywhere. */
.sp-megamenu-parent{display:flex;align-items:center;gap:2px;margin:0;padding:0}
.sp-megamenu-parent>li{margin:0;list-style:none}
.sp-megamenu-parent>li>a,.sp-megamenu-parent>li>span{display:inline-flex;align-items:center;padding:8px 12px;margin:0;font-family:var(--font-text);font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:24px;color:var(--text-body);text-decoration:none;white-space:nowrap;border-radius:0;background:transparent;transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}
.sp-megamenu-parent>li>a:hover,.sp-megamenu-parent>li>a:focus,.sp-megamenu-parent>li.active>a,.sp-megamenu-parent>li.current>a{color:var(--color-primary);text-decoration:none;background:var(--surface-tint)}
.sp-megamenu-parent .sp-dropdown-items,.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner{border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);border-radius:0;padding:8px 0}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item>a{font-family:var(--font-text);font-size:var(--fs-sm);color:var(--text-body);padding:8px 20px}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item>a:hover{color:var(--color-primary);background:var(--surface-subtle)}
#offcanvas-toggler>.fa,#offcanvas-toggler>.far{color:var(--text-strong)}
.offcanvas-menu{background:var(--surface-invert)}
.offcanvas-menu .offcanvas-inner .sp-module ul>li>a{color:rgba(255,255,255,.86);font-family:var(--font-text);font-weight:var(--fw-medium)}
.offcanvas-menu .offcanvas-inner .sp-module ul>li>a:hover{color:#fff}

/* ---------- 5. Layout ---------- */
.sppb-row-container{max-width:var(--content-max);margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter);box-sizing:border-box}
.prm-center{text-align:center}
.prm-center .sppb-addon-button,.prm-center .sppb-button-wrapper{text-align:center}
.prm-eyebrow{font-family:var(--font-text);font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);line-height:1.6;text-transform:uppercase;color:var(--prm-accent);margin:0}
.prm-section-title,.prm-section-title .sppb-addon-title,.prm-section-title h2{margin:0;font-size:var(--fs-h2)}
.prm-lead{font-size:var(--fs-lead);line-height:var(--lh-normal);color:var(--text-body);margin:0}
.prm-narrow{max-width:var(--content-narrow);margin-left:auto;margin-right:auto;width:100%}
.prm-measure-420{max-width:420px}.prm-measure-640{max-width:640px}.prm-measure-720{max-width:720px}.prm-measure-760{max-width:760px}
.prm-center.prm-measure-640,.prm-center.prm-measure-720,.prm-center.prm-measure-760{margin-left:auto;margin-right:auto}
.prm-subtle{background-color:var(--surface-subtle)}
.prm-anchor{scroll-margin-top:calc(var(--header-h) + 24px)}

/* ---------- 6. Buttons ----------
   Three authoring styles are supported: SP Page Builder Button addon with the class on its wrapper
   or on the anchor itself, and plain <a>/<button> markup (e.g. the contact form). */
.prm-btn .sppb-btn,.sppb-btn.prm-btn,a.prm-btn,button.prm-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 22px;font-family:var(--font-text);font-size:var(--fs-body);font-weight:var(--fw-semibold);line-height:1;letter-spacing:-.005em;text-decoration:none;white-space:nowrap;border:1px solid transparent;border-radius:0;cursor:pointer;box-shadow:none;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.prm-btn .sppb-btn:hover,.sppb-btn.prm-btn:hover,a.prm-btn:hover,button.prm-btn:hover{transform:translateY(-1px)}
.prm-btn .sppb-btn:focus-visible,.sppb-btn.prm-btn:focus-visible,a.prm-btn:focus-visible,button.prm-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}
.prm-btn--lg .sppb-btn,.sppb-btn.prm-btn--lg,a.prm-btn--lg,button.prm-btn--lg{padding:17px 30px;font-size:var(--fs-lead);gap:11px}
.prm-btn--sm .sppb-btn,.sppb-btn.prm-btn--sm,a.prm-btn--sm,button.prm-btn--sm{padding:9px 16px;font-size:var(--fs-sm);gap:7px}
.prm-btn--full .sppb-btn,.sppb-btn.prm-btn--full,a.prm-btn--full,button.prm-btn--full{display:flex;width:100%}
.prm-btn--primary .sppb-btn,.sppb-btn.prm-btn--primary,a.prm-btn--primary,button.prm-btn--primary{background:var(--prm-accent);border-color:var(--prm-accent);color:#fff;box-shadow:var(--shadow-primary)}
.prm-btn--primary .sppb-btn:hover,.sppb-btn.prm-btn--primary:hover,a.prm-btn--primary:hover,button.prm-btn--primary:hover{background:var(--prm-accent-hover);border-color:var(--prm-accent-hover);color:#fff}
.prm-btn--secondary .sppb-btn,.sppb-btn.prm-btn--secondary,a.prm-btn--secondary,button.prm-btn--secondary{background:#fff;border-color:var(--border-strong);color:var(--text-strong);box-shadow:var(--shadow-xs)}
.prm-btn--secondary .sppb-btn:hover,.sppb-btn.prm-btn--secondary:hover,a.prm-btn--secondary:hover,button.prm-btn--secondary:hover{background:var(--surface-subtle);border-color:var(--prm-slate-400);color:var(--text-strong)}
.prm-btn--ghost .sppb-btn,.sppb-btn.prm-btn--ghost,a.prm-btn--ghost,button.prm-btn--ghost{background:transparent;border-color:transparent;color:var(--color-primary)}
.prm-btn--ghost .sppb-btn:hover,.sppb-btn.prm-btn--ghost:hover,a.prm-btn--ghost:hover,button.prm-btn--ghost:hover{background:#fff;color:var(--color-primary)}
.prm-btn--invert .sppb-btn,.sppb-btn.prm-btn--invert,a.prm-btn--invert,button.prm-btn--invert{background:#fff;border-color:#fff;color:var(--prm-graphite-900);box-shadow:var(--shadow-md)}
.prm-btn--invert .sppb-btn:hover,.sppb-btn.prm-btn--invert:hover,a.prm-btn--invert:hover,button.prm-btn--invert:hover{background:var(--surface-tint);color:var(--prm-graphite-900)}
.prm-btn--ghost-invert .sppb-btn,.sppb-btn.prm-btn--ghost-invert,a.prm-btn--ghost-invert,button.prm-btn--ghost-invert{background:transparent;border-color:transparent;color:#fff}
.prm-btn--ghost-invert .sppb-btn:hover,.sppb-btn.prm-btn--ghost-invert:hover,a.prm-btn--ghost-invert:hover,button.prm-btn--ghost-invert:hover{background:#fff;color:var(--color-primary)}
/* text-link style (teaser "Mehr erfahren") */
.prm-btn--link .sppb-btn,.sppb-btn.prm-btn--link,a.prm-btn--link,button.prm-btn--link{padding:0;background:transparent;border-color:transparent;box-shadow:none;color:var(--color-primary);font-size:var(--fs-body);gap:7px}
.prm-btn--link .sppb-btn:hover,.sppb-btn.prm-btn--link:hover,a.prm-btn--link:hover,button.prm-btn--link:hover{background:transparent;color:var(--color-primary-hover);transform:none}
/* icons */
.prm-ico-phone .sppb-btn::before,.sppb-btn.prm-ico-phone::before,a.prm-ico-phone::before,button.prm-ico-phone::before{content:"";display:inline-block;flex:none;width:1.05em;height:1.05em;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat;--ico:var(--ico-phone)}
.prm-ico-arrow .sppb-btn::after,.sppb-btn.prm-ico-arrow::after,a.prm-ico-arrow::after,button.prm-ico-arrow::after{content:"";display:inline-block;flex:none;width:1.05em;height:1.05em;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat;--ico:var(--ico-arrow-right)}
.prm-ico-send .sppb-btn::after,.sppb-btn.prm-ico-send::after,a.prm-ico-send::after,button.prm-ico-send::after{content:"";display:inline-block;flex:none;width:1.05em;height:1.05em;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat;--ico:var(--ico-send)}
/* nested row that holds side-by-side buttons: columns shrink to the buttons */
.prm-btnrow .sppb-row,.prm-btnrow.sppb-row{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-left:0;margin-right:0}
.prm-btnrow [class*="sppb-col-"]{flex:0 0 auto!important;width:auto!important;max-width:none!important;padding-left:0!important;padding-right:0!important}
.prm-btnrow .sppb-addon-wrapper{margin:0!important}
.prm-btnrow--center .sppb-row,.prm-btnrow--center.sppb-row{justify-content:center}
.prm-btnrow--end .sppb-row,.prm-btnrow--end.sppb-row{justify-content:flex-end}
@media (max-width:991px){.prm-btnrow--end .sppb-row,.prm-btnrow--end.sppb-row{justify-content:flex-start}}

/* ---------- 7. Heroes ---------- */
.prm-home-hero,.prm-aud-hero,.prm-pagehero{position:relative;background-repeat:no-repeat;background-size:cover}
.prm-home-hero,.prm-aud-hero{background-color:var(--prm-graphite-950)}
.prm-home-hero .sppb-row-container,.prm-aud-hero .sppb-row-container,.prm-pagehero .sppb-row-container{position:relative;z-index:1}
/* Home: dark key visual, light copy */
.prm-badge-hero{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border:1px solid rgba(255,255,255,.42);background:rgba(255,255,255,.08);color:#fff;font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:1.4;letter-spacing:.01em;white-space:nowrap}
.prm-badge-hero .prm-i{color:#8fb4d8;font-size:13px}
.prm-home-hero .prm-hero-title,.prm-home-hero .prm-hero-title .sppb-addon-title{font-size:clamp(2rem,3.6vw,3.6rem);line-height:1.04;letter-spacing:var(--ls-tight);margin:0;max-width:720px;color:#fff}
.prm-home-hero .prm-hero-lead,.prm-home-hero .prm-hero-lead p{font-size:var(--fs-lead);line-height:var(--lh-normal);color:rgba(255,255,255,.86);max-width:560px;margin:0}
/* Audience pages: light scrim on the left, dark copy */
.prm-aud-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(240,242,245,.88) 0%,rgba(240,242,245,.84) 34%,rgba(240,242,245,.6) 52%,rgba(255,255,255,0) 78%);pointer-events:none}
.prm-aud-hero .prm-eyebrow{color:var(--color-primary)}
.prm-aud-hero .prm-hero-title,.prm-aud-hero .prm-hero-title .sppb-addon-title{font-size:var(--fs-h1);line-height:var(--lh-snug);margin:0;color:var(--text-strong)}
.prm-aud-hero .prm-hero-lead,.prm-aud-hero .prm-hero-lead p{font-size:var(--fs-lead);color:var(--text-body);max-width:520px;margin:0}
/* Process / FAQ page hero: flat light overlay, centred */
.prm-pagehero::before{content:"";position:absolute;inset:0;background:rgba(244,245,248,.78);pointer-events:none}
.prm-pagehero .prm-eyebrow{color:var(--color-primary)}
.prm-pagehero h1,.prm-pagehero .sppb-addon-title{font-size:var(--fs-h1);margin:0;color:var(--text-strong)}
.prm-pagehero .prm-lead,.prm-pagehero p{color:var(--text-body)}

/* ---------- 8. Sections & components ---------- */
/* photo treatment used on every content photo */
.prm-photo{position:relative;overflow:hidden;background:var(--surface-tint)}
.prm-photo img{display:block;width:100%;height:auto;object-fit:cover;filter:saturate(.78) contrast(1.03)}
.prm-photo::after{content:"";position:absolute;inset:0;background:var(--color-primary);mix-blend-mode:soft-light;opacity:.32;pointer-events:none}
.prm-photo--43 img{aspect-ratio:4/3}.prm-photo--54 img{aspect-ratio:5/4}.prm-photo--34 img{aspect-ratio:3/4}

/* statistics band */
.prm-statband{background-color:var(--prm-band-blue)}
.prm-statband .sppb-row>[class*="sppb-col-"]+[class*="sppb-col-"]{border-left:1px solid rgba(255,255,255,.16)}
.prm-stat{text-align:center;padding:0 var(--space-2)}
.prm-stat-prefix{font-size:var(--fs-body);font-weight:var(--fw-medium);line-height:var(--lh-normal);color:rgba(255,255,255,.72);margin:0 0 var(--space-2)}
.prm-stat-value{display:flex;justify-content:center;align-items:baseline;gap:.28em;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-display-l);line-height:1;letter-spacing:var(--ls-tight);color:#fff}
.prm-stat-unit{color:var(--prm-graphite-200)}
.prm-stat-label{font-size:var(--fs-body);font-weight:var(--fw-medium);line-height:var(--lh-normal);color:rgba(255,255,255,.72);max-width:260px;margin:var(--space-3) auto 0}

/* audience teaser cards on the home page */
.prm-teaserrow .sppb-row{align-items:stretch!important}
.prm-teaserrow .sppb-row>[class*="sppb-col-"]{display:flex}
.prm-teaser{flex:1;display:flex;flex-direction:column;background:var(--surface-tint);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);padding:var(--space-8);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}
.prm-teaser:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.prm-teaser .sppb-column-addons{display:flex;flex-direction:column;flex:1}
.prm-teaser .sppb-addon-wrapper:last-child{margin-top:auto}
.prm-teaser .prm-teaser-image{margin:calc(-1*var(--space-8)) calc(-1*var(--space-8)) var(--space-6)}
.prm-teaser .prm-teaser-image img{object-position:right center}
.prm-teaser .prm-eyebrow{margin-bottom:var(--space-2)}
.prm-teaser-title,.prm-teaser-title .sppb-addon-title{font-size:var(--fs-h3);line-height:1.2;letter-spacing:var(--ls-snug);margin:0}
.prm-teaser p{margin:0}

/* "Warum PRM" USP list */
.prm-usp{padding:var(--space-5) 0;border-top:1px solid var(--border-subtle)}
.prm-usp:first-child{border-top:0;padding-top:0}
.prm-usp h3{font-size:var(--fs-h4);margin:0 0 var(--space-2)}
.prm-usp p{margin:0;max-width:52ch}

/* checklist */
.prm-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}
.prm-checklist li{display:flex;align-items:center;gap:10px;margin:0;color:var(--text-body)}
.prm-checklist li::before{content:"";flex:none;width:20px;height:20px;background:var(--color-primary);-webkit-mask:var(--ico-check-circle-2) center/contain no-repeat;mask:var(--ico-check-circle-2) center/contain no-repeat}

/* closing band (dark) */
.prm-cta--dark{background-color:var(--surface-invert)}
.prm-cta--dark .prm-section-title,.prm-cta--dark .sppb-addon-title,.prm-cta--dark h2{color:#fff}
.prm-cta--dark .prm-lead,.prm-cta--dark p{color:rgba(255,255,255,.78)}

/* light call-to-action band with swirl background (audience pages) */
.prm-faqcta{position:relative;background-size:cover;background-position:center;background-repeat:no-repeat}
.prm-faqcta::before{content:"";position:absolute;inset:0;background:rgba(244,245,248,.62);pointer-events:none}
.prm-faqcta .sppb-row-container{position:relative;z-index:1}

/* info cards (audience pages): photo on top, panel below */
.prm-info{background:var(--surface-tint);border-left:1px solid var(--prm-graphite-100);padding:var(--space-6)}
.prm-info-title{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-h4);letter-spacing:var(--ls-snug);color:var(--text-strong);margin:0 0 6px}
.prm-info p{margin:0}

/* process step cards */
.prm-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--space-6);list-style:none;margin:0;padding:0}
.prm-step{position:relative;display:flex;flex-direction:column;background:var(--surface-subtle);border:1px solid var(--border-subtle)}
.prm-proc .prm-step{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.prm-step-bar{position:relative;height:54px;background:var(--prm-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px}
.prm-step-no{position:absolute;left:12px;top:10px;font-size:.72rem;font-weight:var(--fw-bold);letter-spacing:.05em;line-height:1.4;color:rgba(255,255,255,.6)}
.prm-step-meta{background:var(--prm-accent-soft);color:var(--prm-accent);text-align:center;font-size:var(--fs-sm);font-weight:var(--fw-bold);letter-spacing:.06em;line-height:1.6;text-transform:uppercase;padding:9px 10px}
.prm-step-arrow{position:absolute;top:27px;right:-19px;transform:translateY(-50%);width:28px;height:28px;background:#fff;border:1px solid var(--border-subtle);color:var(--color-primary);display:flex;align-items:center;justify-content:center;z-index:2;font-size:16px}
.prm-step--last .prm-step-arrow{display:none}
.prm-step-body{display:flex;flex-direction:column;flex:1;padding:var(--space-6);text-align:center}
.prm-step-title{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-h4);line-height:1.15;letter-spacing:var(--ls-snug);color:var(--text-strong);margin:0 0 var(--space-2)}
.prm-step-body p{margin:0;font-size:var(--fs-sm)}

/* switch (segmented control) + panes */
.prm-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--surface-subtle);border:1px solid var(--border-subtle);margin:0 0 var(--space-4)}
.prm-switch--narrow{max-width:520px;margin-left:auto;margin-right:auto;margin-bottom:0}
.prm-switch button{appearance:none;cursor:pointer;text-align:center;padding:12px 16px;border:1px solid transparent;background:transparent;color:var(--text-body);font:var(--fw-medium) .98rem/1.6 var(--font-text);border-radius:0;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}
.prm-switch button[aria-selected=true]{background:#fff;border-color:var(--border-subtle);color:var(--color-primary);font-weight:var(--fw-semibold);box-shadow:var(--shadow-xs)}
.prm-switch-hint{color:var(--text-muted);font-size:.95rem;text-align:center;margin:0 0 var(--space-8)}
[data-prm-pane]{display:none}
[data-prm-pane].is-active{display:block}

/* process highlight box */
.prm-highlight{max-width:640px;margin:0 auto;background:var(--surface-tint);border:1px solid var(--prm-graphite-100)}
.prm-highlight-bar{height:54px;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px}
.prm-highlight-body{padding:var(--space-8);text-align:center}
.prm-highlight-title{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-h4);letter-spacing:var(--ls-snug);color:var(--text-strong);margin:0 0 var(--space-2)}
.prm-highlight-body p{margin:0 auto;max-width:460px}

/* FAQ accordion (native <details>) */
.prm-faqcard{background:#fff;border:1px solid var(--border-subtle);padding:var(--space-5)}
.prm-faqcard details{border-bottom:1px solid var(--border-subtle)}
.prm-faqcard details:first-child{border-top:1px solid var(--border-subtle)}
.prm-faqcard summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-4);cursor:pointer;list-style:none;font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-h4);line-height:normal;letter-spacing:var(--ls-snug);color:var(--text-strong);transition:background var(--dur-fast) var(--ease-out)}
.prm-faqcard summary::-webkit-details-marker{display:none}
.prm-faqcard summary:hover{background:var(--surface-subtle)}
.prm-faqcard summary::after{content:"";flex:none;width:22px;height:22px;background:var(--color-primary);-webkit-mask:var(--ico-chevron-down) center/contain no-repeat;mask:var(--ico-chevron-down) center/contain no-repeat;transition:transform var(--dur-base) var(--ease-out)}
.prm-faqcard details[open] summary::after{transform:rotate(180deg)}
.prm-faq-a{padding:0 var(--space-4) var(--space-6);max-width:68ch}
.prm-faq-a>*:last-child{margin-bottom:0}
.prm-faq-a p{margin:0 0 .9em}
.prm-faq-a ul{margin:0 0 .9em;padding-left:1.15em;display:grid;gap:.35em}

/* about page */
.prm-teamgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-6)}
.prm-person{margin:0}
.prm-person-photo{position:relative;overflow:hidden;background:var(--surface-tint)}
.prm-person-photo img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;filter:saturate(.78) contrast(1.03)}
.prm-person-photo::after{content:"";position:absolute;inset:0;background:var(--color-primary);mix-blend-mode:soft-light;opacity:.32;pointer-events:none}
.prm-person-name{margin-top:var(--space-4);font-family:var(--font-display);font-weight:var(--fw-bold);color:var(--text-strong)}
.prm-person-role{font-size:var(--fs-sm);color:var(--text-muted)}
.prm-display,.prm-display .sppb-addon-title,.prm-display h1{font-size:var(--fs-display-l);line-height:var(--lh-tight,1.05);letter-spacing:var(--ls-tight);margin:0}
.prm-certs{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-5);margin-top:var(--space-12);padding-top:var(--space-8);border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.72)}
.prm-value-body{background:var(--surface-tint);padding:var(--space-5)}
.prm-value-body h3{font-size:var(--fs-h4);margin:0 0 var(--space-2)}
.prm-value-body p{margin:0;font-size:var(--fs-sm)}

/* badges */
.prm-badges{display:flex;flex-wrap:wrap;gap:8px}
.prm-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;background:var(--prm-graphite-50);color:var(--prm-graphite-700);font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:1.4;letter-spacing:.01em}
.prm-badge .prm-i{font-size:13px}
.prm-badge--solid{background:var(--color-primary);color:#fff}

/* contact band + phone link */
.prm-phone-link{display:inline-flex;align-items:center;gap:12px;font-size:var(--fs-h3);font-weight:var(--fw-semibold);color:var(--color-primary)}
.prm-phone-link:hover{color:var(--color-primary-hover)}
.prm-phone-link .prm-i{font-size:22px}
.prm-card{background:#fff;border:1px solid var(--border-subtle);padding:var(--space-12)}
.prm-card h3{font-size:var(--fs-h3);margin:0 0 6px}

/* sticky phone bar (FAQ page) + back to top */
.prm-faq-bar{position:fixed;z-index:60;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:20px;padding:12px 12px 12px 22px;background:var(--surface-invert);color:#fff;box-shadow:0 14px 40px rgba(9,20,36,.28);font-size:.95rem;max-width:calc(100vw - 32px);transition:opacity .35s ease,transform .35s ease}
.prm-faq-bar--off{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(12px)}
.prm-faq-bar>span{opacity:.88}
.prm-faq-bar a{display:inline-flex;align-items:center;gap:9px;padding:9px 18px;background:#fff;color:var(--color-primary);font-weight:var(--fw-semibold);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}
.prm-faq-bar a:hover{background:var(--color-primary);color:#fff}
.prm-totop{position:fixed;z-index:60;right:clamp(16px,3vw,32px);bottom:clamp(16px,3vw,32px);width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;border:0;border-radius:0;box-shadow:var(--shadow-lg);cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}
.prm-totop.is-on{opacity:1;transform:none;pointer-events:auto}
.prm-totop::before{content:"";width:22px;height:22px;background:currentColor;-webkit-mask:var(--ico-arrow-up) center/contain no-repeat;mask:var(--ico-arrow-up) center/contain no-repeat}

/* ---------- 9. Modules: header CTA + footer (Custom HTML modules) ---------- */
.prm-header-cta{display:flex;align-items:center;gap:var(--space-4);margin-left:var(--space-4)}
.prm-header-phone{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:24px;color:var(--text-strong);white-space:nowrap}
.prm-header-phone:hover{color:var(--color-primary)}
.prm-header-phone .prm-i{font-size:17px;color:var(--color-primary)}
.prm-footer{background:var(--prm-graphite-950);color:rgba(255,255,255,.7);padding:var(--space-16) 0 var(--space-8);font-size:var(--fs-body);line-height:var(--lh-normal)}
.prm-footer a{color:rgba(255,255,255,.7)}
.prm-footer a:hover{color:#fff}
.prm-footer-inner{max-width:var(--content-max);margin:0 auto;padding:0 var(--gutter);box-sizing:border-box}
.prm-footer-top{display:flex;flex-wrap:wrap;gap:var(--space-12);justify-content:space-between}
.prm-footer-brand{max-width:320px}
.prm-footer-brand img{display:block;height:40px;width:auto;margin-bottom:var(--space-5)}
.prm-footer-brand p{margin:0 0 var(--space-5);color:rgba(255,255,255,.65)}
.prm-footer-cols{display:flex;flex-wrap:wrap;gap:var(--space-16)}
.prm-footer-title{color:#fff;font-family:var(--font-display);font-weight:var(--fw-semibold);margin-bottom:var(--space-4)}
.prm-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.prm-footer-line{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.prm-footer-line .prm-i{font-size:16px;color:var(--prm-graphite-200)}
.prm-footer-bottom{margin-top:var(--space-16);padding-top:var(--space-6);border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:var(--fs-sm)}
.prm-footer-bottom>span:last-child{display:flex;gap:var(--space-6)}

/* ---------- 10. Forms (contact band) ---------- */
.prm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.prm-field{display:flex;flex-direction:column;gap:7px;margin:0}
.prm-field--wide{grid-column:1/-1}
.prm-field label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-strong);margin:0}
.prm-field label .prm-req{color:#c0392b}
.prm-input{position:relative;display:flex;align-items:center}
.prm-input>.prm-i{position:absolute;left:14px;font-size:18px;color:var(--text-muted);pointer-events:none}
.prm-form input[type=text],.prm-form input[type=tel],.prm-form input[type=email],.prm-form select,.prm-form textarea{box-sizing:border-box;width:100%;padding:13px 16px;font-family:var(--font-text);font-size:var(--fs-body);color:var(--text-strong);background:#fff;border:1px solid var(--border-strong);border-radius:0;outline:none;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}
.prm-form input[type=text],.prm-form input[type=tel],.prm-form input[type=email],.prm-form select{line-height:normal}
.prm-input input{padding-left:42px!important}
.prm-form select{appearance:none;-webkit-appearance:none;padding-right:42px;cursor:pointer;background-image:var(--ico-chevron-down);background-repeat:no-repeat;background-position:right 14px center;background-size:18px}
.prm-form textarea{resize:vertical;line-height:var(--lh-normal)}
.prm-form input:focus,.prm-form select:focus,.prm-form textarea:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}
.prm-hint{font-size:var(--fs-xs);color:var(--text-muted)}
.prm-check{display:flex;align-items:flex-start;gap:11px;font-size:var(--fs-sm);line-height:1.45;cursor:pointer}
.prm-check input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--color-primary)}

/* legal placeholder pages */
.prm-legal h2{font-size:var(--fs-h3);margin:2em 0 .4em}
.prm-legal h2:first-of-type{margin-top:0}
.prm-legal p{margin:0 0 1em}
.prm-legal-note{margin:0 0 var(--space-8);padding:12px 16px;background:#fbf1dc;border-left:4px solid #b7791f;color:var(--text-strong);font-size:var(--fs-sm)}

/* ---------- 11. Responsive ---------- */
@media (max-width:991px){
  .prm-stack .sppb-row>[class*="sppb-col-"]+[class*="sppb-col-"]{margin-top:var(--space-8)}
  .prm-home-hero .sppb-row>[class*="sppb-col-"]:last-child,.prm-aud-hero .sppb-row>[class*="sppb-col-"]:last-child{display:none}
  .prm-step-arrow{display:none}
  .prm-statband .sppb-row>[class*="sppb-col-"]+[class*="sppb-col-"]{border-left:0}
  .prm-teamgrid{grid-template-columns:repeat(3,1fr)}
  .prm-teaser{margin-bottom:var(--space-6)}
  .prm-footer-cols{gap:var(--space-8)}
}
@media (max-width:767px){
  .prm-stat{margin-bottom:var(--space-8)}
  #sp-header .logo img{height:30px}
  .prm-form-grid{grid-template-columns:1fr}
  .prm-card{padding:var(--space-6)}
  .prm-faq-bar>span{display:none}.prm-faq-bar{padding:10px}
}
@media (max-width:575px){
  .prm-btn .sppb-btn,.sppb-btn.prm-btn,a.prm-btn,button.prm-btn{white-space:normal;text-align:center}
  .prm-btn--lg .sppb-btn,.sppb-btn.prm-btn--lg,a.prm-btn--lg,button.prm-btn--lg{padding:15px 22px}
  #sp-header .logo img{height:26px}
  .prm-teamgrid{grid-template-columns:repeat(2,1fr)}
  .prm-header-cta .prm-header-phone span{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important}
  .prm-teaser:hover{transform:none}
}
