  .announcement-bar {
    display: block; padding: 8px 22px; background: #FFE44D; color: #17171B;
    text-align: center; text-decoration: none; font-size: .78rem; font-weight: 600;
    letter-spacing: .04em;
  }
  .announcement-bar:hover { background: #FFDA35; }
  nav[aria-label="Primary navigation"] {
    position: sticky; top: 12px; z-index: 40;
    background: #17171b;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 48px;
    width: calc(100% - 48px); max-width: 1320px; margin: 16px auto;
  }
  @supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
    nav[aria-label="Primary navigation"] {
      background:rgba(23,23,27,.88);
      backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
    }
  }
  nav[aria-label="Primary navigation"] .mega-menu {border-radius:18px}
  nav[aria-label="Primary navigation"] .nav-item.is-open .nav-trigger,
  nav[aria-label="Primary navigation"] .nav-direct:hover {color:var(--pink,#E84274)}
  @media(max-width:1240px) {
    nav[aria-label="Primary navigation"] {width:calc(100% - 24px)}
  }
  @media(max-width:720px) {
    nav[aria-label="Primary navigation"] {top:6px;margin:8px auto;border-radius:28px}
  }
  .nav-inner {
    display: flex; align-items: center; justify-content: space-between;
    min-height: 94px; padding: 10px 40px; gap: 24px; max-width: 1440px; width:min(100%,1440px);
  }
  .nav-logo { display: block; flex: 0 0 auto; width: 280px; text-decoration: none; }
  .nav-logo picture { display: block; }
  .nav-logo img { height: auto; width: 100%; object-fit: contain; object-position: left center; }
  .desktop-nav { display: flex; align-items: stretch; align-self: stretch; gap: 4px; margin-left: auto; }
  .nav-item { position: static; display: flex; align-items: center; }
  .nav-trigger, .nav-direct {
    display: inline-flex; align-items: center; gap: 6px; padding: 0 10px;
    border: 0; background: transparent; color: #fff; font: inherit;
    font-size: .84rem; font-weight: 500; text-decoration: none; cursor: pointer; white-space: nowrap;
  }
  .nav-trigger::after { content:""; display:inline-block; width:var(--icon-sm); height:var(--icon-sm); background:currentColor; -webkit-mask:var(--icon-chevron-down) center/contain no-repeat; mask:var(--icon-chevron-down) center/contain no-repeat; color: #A9A7AD; font-size: .82rem; transition: transform .2s ease; }
  .nav-item.is-open .nav-trigger, .nav-direct:hover { color: #FFE44D; }
  .nav-trigger { min-height:44px; }
  .nav-service-link { padding-right:0; }
  .nav-service-toggle { font-size:0; padding:0 8px; min-width:30px; }
  .nav-item.is-open .nav-trigger::after { transform: rotate(180deg); }
  .nav-trigger:focus-visible, .nav-direct:focus-visible, .mega-menu a:focus-visible { outline:2px solid #E84274; outline-offset:4px; }
  .mega-menu {
    position: absolute; top: 100%; left: 50%; width: min(1120px, calc(100vw - 48px));
    transform: translate(-50%, 10px); padding: 28px; background: #fff; color: #17171B;
    border: 1px solid rgba(23,23,27,.14); box-shadow: 0 24px 50px rgba(10,10,14,.18);
    opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .18s ease, transform .18s ease;
  }
  .nav-item.is-open .mega-menu {
    opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0);
  }
  .mega-menu::before { content:""; position:absolute; left:0; right:0; top:-14px; height:14px; }
  .mega-grid { display: grid; grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); gap: 26px; }
  .mega-heading { margin: 0 0 12px; color: #8A878D; font-size: .69rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
  .mega-menu a { display: block; padding: 7px 0; color: #29282C; font-size: .88rem; text-decoration: none; }
  .mega-menu a:hover { color: #E84274; }
  .mega-feature { padding: 18px; background: #F5F4F2; border-left: 3px solid #F59700; }
  .mega-feature strong { display: block; margin-bottom: 6px; font-size: 1rem; }
  .mega-feature p { margin: 0; color: #6E6C72; font-size: .83rem; }
  .mega-footer { display: flex; gap: 24px; margin-top: 24px; padding-top: 18px; border-top: 1px solid rgba(23,23,27,.12); }
  .mega-footer a { font-weight: 600; }
  .nav-cta { display: flex; align-items: center; flex: 0 0 auto; }
  .nav-cta .btn { min-height: 44px; padding: 11px 18px; font-size: .82rem; }
  .mobile-toggle { display: none; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; background: transparent; color: #fff; cursor: pointer; }
  .mobile-toggle span, .mobile-toggle::before, .mobile-toggle::after { content: ""; display: block; width: 18px; height: 1px; margin: 5px auto; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
  .mobile-toggle[aria-expanded="true"] span { opacity: 0; }
  .mobile-toggle[aria-expanded="true"]::before { transform: translateY(6px) rotate(45deg); }
  .mobile-toggle[aria-expanded="true"]::after { transform: translateY(-6px) rotate(-45deg); }
  .mobile-menu { display: none; }
  @media(prefers-reduced-motion:reduce) {
    .mega-menu, .nav-trigger::after, .mobile-menu, .mobile-toggle::before, .mobile-toggle::after, .mobile-toggle span { transition:none!important; }
  }
  @media (max-width: 1240px) {
    .desktop-nav, .nav-cta { display: none; }
    .mobile-toggle { display: block; margin-left: auto; }
    .mobile-menu {
      display: block; position: fixed; inset: 0; top: 0; z-index: 60; padding: 22px;
      background: #17171B; color: #fff; overflow-y: auto; transform: translateX(100%); visibility: hidden;
      transition: transform .28s ease, visibility .28s ease;
    }
    .mobile-menu.is-open { transform: translateX(0); visibility: visible; }
    .mobile-menu-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 28px; }
    .mobile-menu-logo { display:block; max-width:calc(100% - 58px); }
    .mobile-menu-head picture { display:block; width:250px; max-width:100%; }
    .mobile-menu-head img { display:block; width:100%; height:auto; object-fit:contain; object-position:left; }
    .mobile-close { width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: transparent; color: #fff; font-size: 1.45rem; cursor: pointer; }
    .mobile-group { border-top: 1px solid rgba(255,255,255,.16); }
    .mobile-group > summary, .mobile-link {
      display: flex; align-items: center; justify-content: space-between; width: 100%;
      padding: 17px 0; color: #fff; font-size: 1.08rem; font-weight: 500; text-decoration: none; cursor: pointer; list-style: none;
    }
    .mobile-group > summary::-webkit-details-marker { display: none; }
    .mobile-group > summary::after { content:""; display:inline-block; width:var(--icon-sm); height:var(--icon-sm); background:currentColor; -webkit-mask:var(--icon-plus) center/contain no-repeat; mask:var(--icon-plus) center/contain no-repeat; color: #FFE44D; font-size: 1.25rem; font-weight: 400; }
    .mobile-group[open] > summary::after { content:""; display:inline-block; width:var(--icon-sm); height:var(--icon-sm); background:currentColor; -webkit-mask:var(--icon-minus) center/contain no-repeat; mask:var(--icon-minus) center/contain no-repeat; }
    .mobile-submenu { display: grid; gap: 2px; padding: 0 0 18px 14px; }
    .mobile-submenu a { padding: 7px 0; color: #BEBCC2; font-size: .92rem; text-decoration: none; }
    .mobile-assessment {
      display: flex; align-items: center; justify-content: space-between; width: 100%;
      margin-top: 26px; padding: 16px 18px; border-radius: 999px; background: #FFE44D;
      color: #17171B; font-size: .92rem; font-weight: 700; text-decoration: none;
    }
    .mobile-assessment::after { content:""; display:inline-block; width:var(--icon-sm); height:var(--icon-sm); background:currentColor; -webkit-mask:var(--icon-arrow-up-right) center/contain no-repeat; mask:var(--icon-arrow-up-right) center/contain no-repeat; font-size: 1.1rem; }
    .mobile-tagline { margin: 30px 0 0; color: #8E8C93; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
    body.menu-open { overflow: hidden; }
  }

  footer {
    background: var(--charcoal);
    color: var(--on-dark-soft);
    font-size: 0.92rem;
  }
  /* Footer CTA band */
  .footer-cta-band {
    border-bottom: 1px solid var(--line-dark);
    padding: 44px 0;
    display: flex; align-items: center; justify-content: space-between;
    gap: 24px; flex-wrap: wrap;
  }
  .footer-cta-band .kicker-dark { font-size: 0.85rem; font-weight: 600; color: var(--orange); margin: 0 0 6px; }
  .footer-cta-band h3 { color: var(--on-dark); font-size: 1.5rem; margin: 0; font-weight: 700; }
  .footer-logo { display: block; width: min(240px, 100%); height: 64px; object-fit: contain; object-position: left center; margin-bottom: 18px; }
  .footer-brand p { color: var(--on-dark-soft); font-size: 0.9rem; max-width: 32ch; }
  .footer-grid {
    display: grid;
    grid-template-columns: 1.3fr repeat(4, 1fr);
    gap: 28px;
    padding: 56px 0 40px;
  }
  @media (max-width: 1080px) { .footer-grid { grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 640px) { .footer-grid { grid-template-columns: repeat(2, 1fr); } }
  .footer-col h4 {
    display: flex; align-items: center; gap: 9px;
    font-size: 0.82rem; font-weight: 600; letter-spacing: 0.02em;
    color: var(--on-dark); margin: 0 0 17px;
  }
  .footer-icon { width: 27px; height: 27px; display: inline-grid; place-items: center; flex: 0 0 27px; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; color: var(--orange); }
  .footer-icon svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .footer-col ul { list-style: none; margin: 0; padding: 0; }
  .footer-col li { margin-bottom: 4px; }
  .footer-col a { display: inline-flex; align-items: center; min-height: 30px; color: var(--on-dark-soft); text-decoration: none; font-size: 0.88rem; line-height: 1.35; transition: color .2s ease, transform .2s ease; }
  .footer-col li a::before { content: ""; width: 0; height: 1px; margin-right: 0; background: var(--orange); transition: width .2s ease, margin-right .2s ease; }
  .footer-col li a:hover::before, .footer-col li a:focus-visible::before { width: 10px; margin-right: 6px; }
  .footer-col li a:hover, .footer-col li a:focus-visible { transform: translateX(2px); }
  .footer-col a:hover { color: var(--orange); }
  .footer-col .footer-heading { color: var(--on-dark); font-size: inherit; font-weight: inherit; }
  .footer-social {
    display: flex; gap: 24px; flex-wrap: wrap;
    padding: 22px 0;
    border-top: 1px solid var(--line-dark);
  }
  .footer-social a { color: var(--on-dark-soft); text-decoration: none; font-size: 0.88rem; font-weight: 500; }
  .footer-social a:hover { color: var(--orange); }
  .footer-legal {
    display: flex; justify-content: space-between; align-items: center;
    gap: 16px; flex-wrap: wrap;
    padding: 24px 0 32px;
    border-top: 1px solid var(--line-dark);
    font-size: 0.82rem;
  }
  .footer-legal a { color: var(--on-dark-soft); text-decoration: none; margin-right: 18px; }
  .footer-legal a:hover { color: var(--orange); }

nav .btn-primary, footer .btn-primary { color:#17171b; background:#fff!important; }
nav .btn, footer .btn { font-size:.96rem; font-weight:600; line-height:1.5; border:0; }
.footer-cta-band .btn { padding:15px 28px; min-height:52px; width:fit-content; max-width:100%; flex:0 0 auto; }
nav .btn-primary .liquid-carve-layer,footer .btn-primary .liquid-carve-layer { background:linear-gradient(135deg,#ff9d00,#f22f83); }
.footer-brand p + p { margin-top:12px; }
footer .footer-brand .footer-contact { display:grid; gap:12px; margin-top:22px; padding:0; border:0; background:none; }
footer .footer-brand .footer-contact a { color:#fff; display:flex; align-items:center; gap:10px; font-size:.88rem; font-weight:700; line-height:1.35; text-decoration:none; }
footer .footer-brand .footer-contact a > span { color:inherit; font-weight:inherit; white-space:nowrap; }
footer .footer-brand .footer-contact a > .pp-icon { color:#e84274; width:16px; height:16px; flex:0 0 16px; fill:none; stroke:currentColor; stroke-width:2; background:none; border:0; }
footer .footer-brand .footer-contact a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.footer-contact a:focus-visible { outline:2px solid #e84274; outline-offset:4px; }
.footer-brand p { line-height:1.5; margin-bottom:0; }
.footer-cta-band h3 { line-height:1.3; letter-spacing:-.025em; }
@media(max-width:720px) {
  .nav-inner { min-height:78px; padding:10px 22px; gap:14px; }
  .nav-logo, .mobile-menu-head picture { width:48px; }
  /* White shows through the monogram, without filling its transparent corners. */
  .nav-logo picture, .mobile-menu-head picture { position:relative; }
  .nav-logo picture::before, .mobile-menu-head picture::before { content:""; position:absolute; inset:5%; border-radius:50%; background:#fff; }
  .nav-logo img, .mobile-menu-head img { width:48px; height:48px; }
  .nav-logo img, .mobile-menu-head img { position:relative; display:block; }
  .footer-brand { grid-column:1/-1; }
}
