/* The canonical header, drawer and footer, lifted out of base.html by homepage_v3/shell_chrome.py. DO NOT EDIT: it is regenerated. Every custom property is renamed --aa-*, and every generic selector is scoped inside .nav/.footer/.mobile-menu, so this file can be dropped on a page that already has a stylesheet without touching anything else on it. */
:root{--aa-bg:#F2F0EE;--aa-bg-soft:#ECE7DA;--aa-ink:#0a0a0a;--aa-ink-muted:rgba(10,10,10,.62);--aa-ink-faint:rgba(10,10,10,.42);--aa-line:rgba(10,10,10,.14);--aa-line-strong:rgba(10,10,10,.28);--aa-gold:#7a7a85;--aa-cream:#f2f0ee;--aa-c-blue:#b5d9e8;--aa-c-olive:#9aa066;--aa-c-gold:#d8d8dc;--aa-c-lilac:#cdb5e3;--aa-c-clay:#d4988a;--aa-c-stone:#dcd5c4;--aa-display:'Geist',-apple-system,sans-serif;--aa-body:'Geist',-apple-system,sans-serif;--aa-mono:'Geist Mono','SF Mono',Menlo,monospace;--aa-container:1440px;--aa-gutter:clamp(1.5rem,5vw,4rem);--aa-section-y:clamp(5rem,12vw,11rem)}

.nav .container, .footer .container, .mobile-menu .container{width:100%;max-width:var(--aa-container);margin:0 auto;padding:0 var(--aa-gutter)}
.nav .btn-flip, .footer .btn-flip, .mobile-menu .btn-flip{position:relative;display:inline-block;overflow:hidden;line-height:1.2;vertical-align:middle}
.btn:hover .btn-flip-front,.btn:hover .btn-flip-back,.insights-link:hover .btn-flip-front,.insights-link:hover .btn-flip-back,.form-submit:hover .btn-flip-front,.form-submit:hover .btn-flip-back,.footer-careers:hover .btn-flip-front,.footer-careers:hover .btn-flip-back{transform:translateY(-100%)}
.btn .arrow,.insights-link .arrow,.form-submit .arrow,.footer-careers .arrow{width:14px;height:14px;transition:transform .4s}
.btn:hover .arrow,.insights-link:hover .arrow,.form-submit:hover .arrow,.footer-careers:hover .arrow{transform:translateX(4px)}
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.25rem 0;backdrop-filter:none;-webkit-backdrop-filter:none;background:transparent;border-top:1px solid rgba(10,10,10,.08);border-bottom:1px solid transparent;box-shadow:none;transition:border-color .3s,opacity .5s ease,transform .5s ease,background .3s ease,box-shadow .3s ease,backdrop-filter .3s ease}
.nav.scrolled{backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);background:rgba(255,255,255,.18);border-bottom-color:rgba(10,10,10,.08);box-shadow:inset 0 -1px 0 rgba(255,255,255,.3),0 2px 8px rgba(10,10,10,.05)}
.nav.nav-hidden{opacity:0;transform:translateY(-100%);pointer-events:none}
.nav-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem}
.logo{font-family:'Audiowide',sans-serif;font-weight:400;font-size:1.25rem;letter-spacing:.04em;text-transform:uppercase;color:var(--aa-ink);justify-self:start}
.nav-links{display:flex;align-items:center;gap:2.5rem;list-style:none;justify-self:center}
.nav-links a{font-family:var(--aa-body);font-size:.875rem;color:var(--aa-ink);font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.nav-cta{white-space:nowrap;flex:0 0 auto;padding:.85rem 1.4rem;border-radius:999px;border:1px solid var(--aa-ink);color:var(--aa-ink);font-family:var(--aa-body);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.625rem;transition:all .3s;justify-self:end}
.nav-cta .arrow{width:14px;height:14px;transition:transform .3s}
.nav-cta:hover .arrow{transform:translateX(3px)}
.nav-actions{display:flex;align-items:center;gap:.75rem;justify-self:end}
.nav-login{padding:.85rem 1.4rem;border-radius:999px;border:1px solid rgba(10,10,10,.22);color:var(--aa-ink);font-family:var(--aa-body);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;display:inline-flex;align-items:center;background:transparent;transition:all .3s;white-space:nowrap}
.nav-login:hover{border-color:var(--aa-ink);background:var(--aa-ink);color:#fff}
.mobile-menu-login{display:inline-flex;align-items:center;justify-content:center;padding:1.15rem 1.85rem;border-radius:999px;border:1px solid rgba(255,255,255,.4);color:#fff;font-family:var(--aa-body);font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;min-height:56px;text-decoration:none;background:transparent;margin-top:.75rem;transition:background .3s ease}
.mobile-menu-login:hover{background:rgba(255,255,255,.12)}
.nav-flip{position:relative;display:inline-block;overflow:hidden;line-height:1.2;vertical-align:middle;white-space:nowrap}
.nav-flip-front,.nav-flip-back{display:block;transition:transform .45s cubic-bezier(.7,0,.3,1)}
.nav-flip-back{position:absolute;top:100%;left:0;width:100%;white-space:nowrap}
.nav-links a:hover .nav-flip-front,.nav-cta:hover .nav-flip-front{transform:translateY(-100%)}
.nav-links a:hover .nav-flip-back,.nav-cta:hover .nav-flip-back{transform:translateY(-100%)}
@media(max-width:1240px){.nav-inner{grid-template-columns:1fr auto}.nav-links{display:none}}
/* ===== end ring carousel ===== */
.logo-bar{display:flex;align-items:center;justify-content:center;gap:4.5625rem;flex-wrap:wrap}
.logo-bar a{overflow:visible;display:flex;align-items:center;justify-content:center;min-width:120px;min-height:80px;cursor:pointer}
.logo-bar img{height:31px;width:auto;object-fit:contain;transition:transform .3s ease}
.logo-bar img[src="/PULSE LOGO.png"]{transform:scale(4.3) translateY(3px)}
.logo-bar img[src="/JP MB.png"]{transform:scale(1.15)}
.logo-bar img[src="/BLEVORA NB.png"]{transform:scale(1.1)}
.logo-bar img[src="/Arynez NB.png"]{transform:scale(1.4)}
.logo-bar img[src="/PDP NB.png"]{transform:scale(1.55)}
.logo-bar a:hover img{transform:scale(1.05)}
.logo-bar a:hover img[src="/PULSE LOGO.png"]{transform:scale(4.4) translateY(3px)}
.logo-bar a:hover img[src="/JP MB.png"]{transform:scale(1.2)}
.logo-bar a:hover img[src="/BLEVORA NB.png"]{transform:scale(1.15)}
.logo-bar a:hover img[src="/PDP NB.png"]{transform:scale(1.6)}
@media(max-width:600px){.logo-bar{gap:1.5rem}.logo-bar a{min-width:80px;min-height:50px}.logo-bar img{height:40px}}
.footer{background:#171614;color:rgba(255,255,255,.5);padding:3rem 0 2.5rem;border-top:1px dotted rgba(255,255,255,.25)}
.footer > .container{max-width:none;width:100%;padding-left:clamp(2rem,5vw,5rem);padding-right:clamp(2rem,5vw,5rem);margin:0}
.footer-inner{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:end}
@media(min-width:900px){.footer-inner{grid-template-columns:1fr 1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:end}}
.footer-tagline{font-family:var(--aa-display);font-weight:600;font-size:1.5rem;color:#fff;letter-spacing:-.02em;margin-bottom:1.25rem}
.footer-careers{display:inline-flex;align-items:center;gap:.625rem;padding:.95rem 1.5rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:999px;font-family:var(--aa-body);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;transition:all .3s ease}
.footer-careers:hover{background:#fff;color:#000;border-color:#fff}
.footer-careers svg{width:14px;height:14px}
.footer-center{text-align:center}
.footer-address{font-family:var(--aa-display);font-size:1.5rem;color:#fff;letter-spacing:-.02em;margin-bottom:1.25rem;line-height:1.2}
.footer-socials{display:flex;gap:1.25rem;align-items:center}
@media(max-width:900px){.footer-socials{justify-content:center}}
.footer-socials a{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:rgba(255,255,255,.6);transition:all .3s ease}
.footer-socials a:hover{color:#fff}
.footer-socials a svg{width:18px;height:18px}
.footer-right{text-align:right}
.footer-meta{display:flex;gap:1.5rem;font-family:var(--aa-mono);font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:1rem}
@media(min-width:900px){.footer-meta{justify-content:flex-end}}
.footer-meta a{color:inherit;transition:color .3s ease}
.footer-meta a:hover{color:#fff}
.footer-copy{font-family:var(--aa-mono);font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.3)}
.footer-inner>div{opacity:0;transform:translateY(20px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.footer-inner.in>div{opacity:1;transform:translateY(0)}
.footer-inner>div:nth-child(1){transition-delay:.15s}
.footer-inner>div:nth-child(2){transition-delay:.4s}
.footer-inner>div:nth-child(3){transition-delay:.65s}
/* ============================================ */
/* MOBILE RESPONSIVE — DO NOT TOUCH DESKTOP CSS */
/* ============================================ */

/* Hamburger button + mobile menu — base styles (hidden on desktop) */
.nav-hamburger{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;background:transparent;border:0;cursor:pointer;justify-self:end;position:relative;z-index:200}
.nav-hamburger span{display:block;width:24px;height:2px;background:var(--aa-ink);border-radius:2px;transition:transform .3s ease,opacity .25s ease,background .3s ease}
.nav-hamburger.is-open span{background:#fff}
.nav-hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.is-open span:nth-child(2){opacity:0}
.nav-hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;background:#171614;z-index:150;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease;display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding:6rem 2rem 3rem;overflow-y:auto}
.mobile-menu.is-open{opacity:1;visibility:visible}
.mobile-menu-close{position:absolute;top:1.25rem;right:1.25rem;width:44px;height:44px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background .25s ease,border-color .25s ease,transform .3s ease;padding:0;z-index:10;-webkit-tap-highlight-color:transparent}
.mobile-menu-close:hover,.mobile-menu-close:focus,.mobile-menu-close:focus-visible{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4);transform:rotate(90deg)}
.mobile-menu-close svg{width:18px;height:18px}
/* Raise the nav above the mobile menu so the hamburger is also clickable as a close toggle.
   Suppress the scrolled background while the menu is open so the dark overlay isn't broken by a translucent nav bar. */
body.menu-open .nav{z-index:250 !important;background:transparent !important;border-color:transparent !important;box-shadow:none !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
.mobile-menu-inner{display:flex;flex-direction:column;width:100%;max-width:480px;margin:0 auto;gap:.5rem}
.mobile-menu-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
.mobile-menu-links li{border-bottom:1px solid rgba(255,255,255,.1)}
.mobile-menu-links a{display:flex;align-items:center;min-height:56px;padding:1rem .25rem;color:#fff;font-family:var(--aa-body);font-size:1.25rem;font-weight:500;letter-spacing:.01em;text-decoration:none;transition:padding-left .3s ease,color .3s ease}
.mobile-menu-links a:hover,.mobile-menu-links a:focus{padding-left:.75rem;color:var(--aa-c-gold)}
.mobile-menu-cta{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;margin-top:2.5rem;padding:1.15rem 1.85rem;background:#fff;color:#171614;border-radius:999px;font-family:var(--aa-body);font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;min-height:56px;text-decoration:none;transition:transform .3s ease,background .3s ease}
.mobile-menu-cta:hover{transform:translateY(-1px)}
.mobile-menu-cta svg{width:14px;height:14px}
body.menu-open{overflow:hidden}
/* === MOBILE OVERFLOW PATCH — .cta and .footer === */
@media (max-width: 900px){.cta { overflow-x: hidden; }
  .cta > .container {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
  .cta-eyebrow {
    margin-bottom: 2rem !important;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .cta-eyebrow .cta-response { white-space: normal; }
  .cta-grid {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }
  .cta-left h2 {
    font-size: clamp(2rem, 8vw, 2.75rem) !important;
    max-width: 100% !important;
    line-height: 1.05 !important;
  }
  .cta-form {
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
    width: 100%;
  }
  .field {
    width: 100%;
    min-width: 0;
  }
  .field input,
  .field textarea,
  .field select,
  .dropdown,
  .dropdown-trigger,
  .field-file,
  .field-file-label {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
  .field-row-span-2 {
    grid-row: auto !important;
  }
  .field-consent { gap: 1rem !important; }
  .checkbox-label {
    font-size: 0.75rem !important;
    line-height: 1.45 !important;
  }
  .form-submit {
    padding: 1.25rem 1.5rem !important;
    font-size: 0.6875rem !important;
    letter-spacing: 0.12em !important;
    width: 100%;
    box-sizing: border-box;
  }

  .footer > .container {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
  .footer-inner {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
    text-align: left !important;
  }
  .footer-center,
  .footer-right { text-align: left !important; }
  .footer-socials,
  .footer-meta {
    justify-content: flex-start !important;
  }
  .footer-meta {
    flex-wrap: wrap;
    gap: 1rem;
  }}
@media (max-width: 600px){.footer > .container{padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;}}
@media (max-width: 600px){.logo-bar{gap: 2.5rem !important; animation-duration: 22s;}.logo-bar img{height: 38px !important;}}
@media (min-width: 901px){.logo-bar > a[aria-hidden="true"]{display: none !important;}}
@media (prefers-reduced-motion: reduce){.logo-bar{animation: none !important;}}
@media (max-width: 600px){.logo-bar{gap: 2.25rem !important;
    animation-duration: 22s !important;}.logo-bar img{height: 34px !important;}.logo-bar img[src*="PULSE"]{transform: scale(2.4) !important;}}
.nav a,.nav button,.mobile-menu a,.mobile-menu button,.footer a{text-decoration:none;text-transform:none;letter-spacing:inherit;box-shadow:none;background-image:none}.nav ul,.mobile-menu ul,.footer ul{list-style:none}.footer-meta a{text-transform:uppercase}.nav img,.footer img,.mobile-menu img{max-width:none}.nav svg,.footer svg,.mobile-menu svg{vertical-align:middle}
/* The consent line under every enquiry form (2026-10-28). The form
   collects a name, an email and a phone number, so the page it sits on
   has to say where they go and link the policy that says it. */
.form-privacy-note{margin:12px 0 0;font-size:12.5px;line-height:1.5;
  opacity:.78}
.form-privacy-note a{color:inherit;text-decoration:underline;
  text-underline-offset:2px}
