:root {
  --panasia-nav-height: 88px;
  --panasia-nav-ink: #111111;
  --panasia-nav-muted: #6d6d6d;
  --panasia-nav-line: #d8d8d8;
  --panasia-nav-surface: #f6f6f3;
  --panasia-nav-paper: #ffffff;
  --panasia-nav-radius: 16px;
}

.panasia-announcement { position: relative; z-index: 1201; display: flex; min-height: 39px; align-items: center; justify-content: center; padding: 0 52px; background: #0b0b0b; color: #fff; font-family: Aeonik, Arial, sans-serif; }
.panasia-announcement[hidden] { display: none; }
.panasia-announcement__content { display: flex; min-width: 0; align-items: center; justify-content: center; gap: 12px; }
.panasia-announcement__label { font-size: 12px; line-height: 1.2; letter-spacing: .01em; white-space: nowrap; }
.panasia-announcement a { display: inline-flex; min-height: 44px; align-items: center; color: inherit; font-size: 12px; line-height: 1.2; text-decoration: none; white-space: nowrap; }
.panasia-announcement > button { position: absolute; top: 50%; right: 10px; width: 44px; height: 44px; padding: 0; transform: translateY(-50%); border: 0; background: transparent; color: inherit; }
.panasia-announcement > button span, .panasia-announcement > button span::after { position: absolute; top: 50%; left: 50%; width: 12px; height: 1px; background: currentColor; content: ""; }
.panasia-announcement > button span { transform: translate(-50%,-50%) rotate(45deg); }
.panasia-announcement > button span::after { transform: translate(-50%,-50%) rotate(90deg); }

@media (min-width: 1024px) {
  [role="region"][aria-label="Announcement"] { height: 40px; min-height: 40px; }
}

.panasia-navigation { position: fixed; inset: var(--announcement-offset, 0px) 0 auto; z-index: 1200; color: var(--panasia-nav-ink); font-family: Aeonik, Arial, sans-serif; }
.panasia-navigation__bar { min-height: var(--panasia-nav-height); display: grid; grid-template-columns: repeat(12,minmax(0,150px)); justify-content: center; align-items: center; gap: 8px; padding: 0 24px; background: var(--panasia-nav-paper); }
/* The wordmark is 86x15.6, so the brand link's box was 15.6px tall — a 44px-wide
   target 28px short in the axis a thumb misses in. The link grows to a 44px flex
   box around the same 86x15.6 mark. On the captured shell that row is sized by
   its content rather than by a floor, so the same 4px is given straight back as
   negative block margin: the target is 44px and overhangs by 2px, and the mark,
   the row, the 88px header and the fold below it all stay put. */
.panasia-navigation__brand { display: flex; width: max-content; min-height: 44px; margin-block: -2px; align-items: center; grid-column: span 1; justify-self: start; color: inherit; text-decoration: none; }
.panasia-navigation__brand .panasia-wordmark { --panasia-wordmark-width: 86px; }
.panasia-navigation__desktop { grid-column: 2 / span 8; display: flex; min-width: 0; align-items: center; justify-content: flex-start; gap: 28px; }
/* 40px was 4px short of the 44px pointer target. These triggers carry no border
   or fill, so the extra height is invisible; the id selector also reaches the
   captured Scale header's own trigger buttons, which `decorateCapturedTriggers`
   stamps with the same ids and which measured 40px tall on every captured route.
   The captured header's action row is sized by its tallest item, so the 4px is
   given back as negative block margin: the hit area is 44px and overhangs the
   row by 2px top and bottom, while the row — and therefore the header, and
   therefore every page's first fold — stays exactly where it was. */
.panasia-navigation__desktop button, [id^="panasia-trigger-"] { min-height: 44px; margin-block: -2px; }
.panasia-navigation__desktop button { padding: 0; border: 0; background: transparent; color: inherit; font: 400 14px/1 Aeonik, Arial, sans-serif; cursor: pointer; }
.panasia-navigation__actions { grid-column: 10 / span 3; justify-self: end; display: flex; align-items: center; gap: 12px; }
.panasia-navigation__action { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; padding: 0 16px; border: 1px solid var(--panasia-nav-ink); border-radius: 8px; color: inherit; font-size: 14px; text-decoration: none; white-space: nowrap; }
.panasia-navigation__action--primary { background: var(--panasia-nav-ink); color: var(--panasia-nav-paper); }
.panasia-captured-scale-shell > div:first-of-type .panasia-navigation__action { padding: 0; }
.panasia-navigation__panels { position: relative; }
.panasia-navigation__captured-panels { position: fixed; z-index: 71; inset: var(--panasia-captured-nav-top, 80px) 0 auto; pointer-events: none; color: var(--panasia-nav-ink); font-family: Aeonik, Arial, sans-serif; }
.panasia-navigation__captured-panels .panasia-navigation__panel { pointer-events: auto; }
[data-panasia-captured-native-dropdown] { display: none !important; }
[data-mode="captured"] nav[aria-label="Main"] button[data-panasia-label] > span { display: none; }
[data-mode="captured"] nav[aria-label="Main"] button[data-panasia-label]::after { content: attr(data-panasia-label); }
.panasia-navigation__panel { position: absolute; inset: 0 0 auto; display: grid; height: 304px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; overflow: hidden; padding: 44px 24px 68px; background: var(--panasia-nav-surface); border-bottom: 1px solid rgba(17,17,17,.08); box-shadow: 0 18px 42px rgba(0,0,0,.08); }
.panasia-navigation__panel[hidden] { display: none; }
.panasia-navigation__panel-copy { min-width: 0; height: 192px; padding: 0 clamp(32px,4vw,80px) 0 clamp(56px,7.5vw,154px); }
.panasia-navigation__eyebrow { margin: 0 0 18px; color: var(--panasia-nav-muted); font-size: 13px; letter-spacing: .02em; }
.panasia-navigation__links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 40px; }
.panasia-navigation__link { display: block; min-height: 32px; padding: 4px 0; border-bottom: 0; color: inherit; text-decoration: none; }
.panasia-navigation__link span { font-size: 18px; line-height: 1.2; letter-spacing: -.015em; }
.panasia-navigation__link small { display: none; }
.panasia-navigation__link--contextual span { font-size: 18px; }
/* NARRATIVE §8 gives Market Entry 15 destinations — the program, the audience
   page, five capabilities, then the eight markets — where the other two panels
   carry 3 and 7. Scale's own mega-menu answers that cardinality with two
   independent link columns per category (`leftColumn` / `rightColumn` in the
   captured navigation data), and its 15-link `Products` category is visibly
   taller than its 3-link `Solutions` one: the dropdown is `pt-11 pb-17` around
   content whose media plate is `min-h-[192px]`, so 304px is Scale's *floor*
   (192 + 44 + 68), not a fixed frame. §6 therefore keeps the floor for the two
   panels that clear it and lets this one grow, exactly as the source does.
   The eight markets are the natural second column, and they carry the dense
   list metrics this stylesheet already reviewed for a market list. Because the
   8-market column is the taller of the two at every supported width, the panel
   resolves to one deterministic 433px height from 1280 through 2048. */
.panasia-navigation__panel[data-panasia-panel="market-entry"] { height: auto; min-height: 304px; }
.panasia-navigation__panel[data-panasia-panel="market-entry"] .panasia-navigation__panel-copy { height: auto; min-height: 192px; }
.panasia-navigation__panel[data-panasia-panel="market-entry"] .panasia-navigation__links { display: block; column-count: 2; column-gap: 40px; }
.panasia-navigation__panel[data-panasia-panel="market-entry"] .panasia-navigation__link { min-height: 29px; margin-bottom: 5px; padding-block: 3px; break-inside: avoid; }
.panasia-navigation__panel[data-panasia-panel="market-entry"] .panasia-navigation__link span { font-size: 16px; }
/* The last eight links are the eight markets; the column break makes them the
   panel's second column instead of interleaving them with the capabilities. */
.panasia-navigation__panel[data-panasia-panel="market-entry"] .panasia-navigation__link:nth-last-child(8) { break-before: column; }
.panasia-navigation__panel[data-panasia-panel="market-entry"] .panasia-navigation__link:last-child { margin-bottom: 0; }
@media (min-width: 1024px) and (max-width: 1279px) {
  /* Scale drops its dropdown link columns from `xl:col-start-2` to `md:col-start-1`
     below 1280px, reclaiming the leading inset exactly where two columns get
     tight. Market Entry is the panel that runs two full columns, so it takes the
     same reclaim rather than wrapping every capability label onto two lines. */
  .panasia-navigation__panel[data-panasia-panel="market-entry"] .panasia-navigation__panel-copy { padding-inline: 24px; }
  .panasia-navigation__panel[data-panasia-panel="market-entry"] .panasia-navigation__links { column-gap: 28px; }
}
.panasia-navigation__link[aria-current="page"] span { font-weight: 500; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.panasia-navigation__action[aria-current="page"] { box-shadow: inset 0 -2px currentColor; }
.panasia-navigation__link:visited span { color: #4f4f4f; }
.panasia-navigation__action:visited { border-color: var(--panasia-nav-ink); }
.panasia-navigation__preview { position: relative; width: 100%; height: 192px; min-height: 192px; margin: 0; overflow: hidden; border: 0; border-radius: 14px; background: #e7e7e2; }
.panasia-navigation__preview img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.panasia-navigation__preview-fallback { position: absolute; inset: 0; display: grid; place-items: center; color: #777; font-size: 12px; letter-spacing: .2em; }
.panasia-navigation__mobile-toggle, .panasia-navigation__dialog { display: none; }
.panasia-navigation__dialog { width: min(calc(100% - 16px),640px); max-width: 640px; height: fit-content; max-height: calc(100dvh - 16px); margin: 8px auto auto; padding: 0; overflow: hidden; border: 1px solid rgba(17,17,17,.1); border-radius: 16px; background: var(--panasia-nav-paper); color: var(--panasia-nav-ink); box-shadow: 0 24px 72px rgba(0,0,0,.2); }
.panasia-navigation__dialog::backdrop { background: rgba(0,0,0,.28); backdrop-filter: blur(3px); }
.panasia-navigation__dialog-head { position: relative; z-index: 3; display: grid; min-height: calc(64px + env(safe-area-inset-top)); grid-template-columns: minmax(72px,1fr) auto minmax(132px,1fr); align-items: end; gap: 8px; padding: env(safe-area-inset-top) 16px 8px; background: var(--panasia-nav-paper); border-bottom: 1px solid var(--panasia-nav-line); }
.panasia-navigation__dialog-leading { display: flex; min-height: 44px; align-items: center; }
.panasia-navigation__dialog-head a { color: inherit; text-decoration: none; }
.panasia-navigation__dialog-brand .panasia-wordmark { --panasia-wordmark-width: 80px; }
.panasia-navigation__dialog-head button { min-width: 44px; min-height: 44px; padding: 0; border: 0; background: transparent; color: inherit; }
.panasia-navigation__dialog-head [data-panasia-dialog-title] { max-width: 9rem; margin: 0; align-self: center; overflow: hidden; font-size: 15px; font-weight: 500; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.panasia-navigation__dialog-head-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.panasia-navigation__dialog-request { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; padding: 0 14px; border: 1px solid var(--panasia-nav-ink); border-radius: 8px; background: var(--panasia-nav-ink); color: var(--panasia-nav-paper) !important; font-size: 13px; font-weight: 500; letter-spacing: 0; white-space: nowrap; }
.panasia-navigation__dialog-close-icon { position: relative; display: block; width: 18px; height: 18px; margin: auto; }
.panasia-navigation__dialog-close-icon::before, .panasia-navigation__dialog-close-icon::after { position: absolute; top: 50%; left: 1px; width: 16px; height: 1px; background: currentColor; content: ""; }
.panasia-navigation__dialog-close-icon::before { transform: rotate(45deg); }
.panasia-navigation__dialog-close-icon::after { transform: rotate(-45deg); }
.panasia-navigation__dialog-body { height: min(232px,calc(100dvh - 145px - env(safe-area-inset-top) - env(safe-area-inset-bottom))); overflow: hidden; transition: height 300ms cubic-bezier(.32,.72,0,1); }
/* `--panasia-mobile-detail-height` is the open section's measured content height
   (`navigation-controller.js:openMobileCategory`). The `360px` term capped it
   below that measurement rather than below the viewport, so Market Entry's 15
   NARRATIVE §8 destinations showed 7 at a time inside a 360px scroller while
   345px of an 844px screen stayed empty. The viewport term is already the real
   ceiling — 145px is the dialog's own head, actions row and margins — so the
   fixed cap is dropped and the panel takes the height its content asks for, up
   to what the screen has. Short screens are unchanged: the viewport term binds
   first there, exactly as it did before. */
.panasia-navigation__dialog[data-panasia-mobile-view="detail"] .panasia-navigation__dialog-body { height: min(var(--panasia-mobile-detail-height,360px),calc(100dvh - 145px - env(safe-area-inset-top) - env(safe-area-inset-bottom))); }
.panasia-navigation__dialog-track { position: relative; width: 100%; height: 100%; overflow: hidden; }
.panasia-navigation__dialog-categories, .panasia-navigation__dialog-details { position: absolute; inset: 0; width: 100%; height: 100%; overflow-y: auto; overscroll-behavior: contain; padding: 4px 20px; transition: transform 360ms cubic-bezier(.32,.72,0,1); }
.panasia-navigation__dialog-details { padding-block: 12px; }
.panasia-navigation__dialog-categories { transform: translateX(0); }
.panasia-navigation__dialog-details { transform: translateX(100%); }
.panasia-navigation__dialog[data-panasia-mobile-view="detail"] .panasia-navigation__dialog-categories { transform: translateX(-100%); }
.panasia-navigation__dialog[data-panasia-mobile-view="detail"] .panasia-navigation__dialog-details { transform: translateX(0); }
.panasia-navigation__dialog[data-panasia-mobile-view="detail"] .panasia-navigation__dialog-request { display: none; }
.panasia-navigation__dialog[data-panasia-mobile-view="detail"] .panasia-navigation__dialog-head { grid-template-columns: minmax(44px,1fr) auto minmax(44px,1fr); }
.panasia-navigation__dialog-categories { display: flex; flex-direction: column; }
.panasia-navigation__mobile-category { display: flex; width: 100%; min-height: 56px; align-items: center; justify-content: space-between; gap: 20px; padding: 0; border: 0; border-bottom: 1px solid var(--panasia-nav-line); background: transparent; color: inherit; font: 400 clamp(21px,6vw,26px)/1.1 Aeonik,Arial,sans-serif; text-align: left; }
.panasia-navigation__mobile-category span:last-child { color: var(--panasia-nav-muted); font-size: 22px; }
.panasia-navigation__dialog-details section { display: grid; align-content: start; }
.panasia-navigation__dialog-details section[hidden] { display: none; }
.panasia-navigation__link--mobile { display: flex; min-height: 48px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--panasia-nav-line); }
.panasia-navigation__link--mobile span { font-size: 17px; line-height: 1.25; }
.panasia-navigation__dialog-actions { position: relative; z-index: 4; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 12px 20px calc(12px + env(safe-area-inset-bottom)); background: var(--panasia-nav-paper); border-top: 1px solid var(--panasia-nav-line); }
.panasia-navigation__dialog[data-closing="true"] { opacity: 0; transform: translateY(-8px); transition: opacity 180ms ease, transform 180ms ease; }

@media (min-width: 1024px) and (max-height: 800px) {
  .panasia-navigation__panel { height: 256px; padding-block: 32px 48px; }
  .panasia-navigation__panel-copy, .panasia-navigation__preview { height: 176px; min-height: 176px; }
  .panasia-navigation__eyebrow { margin-bottom: 14px; font-size: 12px; }
  .panasia-navigation__links { gap-block: 6px; }
  .panasia-navigation__link { min-height: 28px; padding-block: 3px; }
  .panasia-navigation__link span, .panasia-navigation__link--contextual span { font-size: 16px; }
  .panasia-navigation__panel[data-panasia-panel="services"] .panasia-navigation__link span { font-size: 14px; }
  /* Market Entry keeps its two-column grammar on a short desktop; only the
     floor drops with the rest of the panels. */
  .panasia-navigation__panel[data-panasia-panel="market-entry"] { min-height: 256px; }
  .panasia-navigation__panel[data-panasia-panel="market-entry"] .panasia-navigation__panel-copy { min-height: 176px; }
  .panasia-navigation__panel[data-panasia-panel="market-entry"] .panasia-navigation__link { min-height: 28px; }
}
.panasia-footer { display: grid; gap: 80px; padding: 72px 32px 28px; background: #0b0b0b; color: #fff; font-family: Aeonik, Arial, sans-serif; }
.panasia-footer__brand { display: grid; justify-items: start; }
.panasia-footer__brand > .panasia-wordmark { --panasia-wordmark-width: clamp(120px,11vw,148px); margin-bottom: 32px; }
.panasia-footer__brand p { margin: 0; }
.panasia-footer__brand p:first-of-type { max-width: 30ch; color: #ededed; font-size: clamp(28px,3.2vw,52px); line-height: 1.02; letter-spacing: -.035em; text-wrap: balance; }
.panasia-footer__brand p:last-of-type { max-width: 58ch; margin-top: 24px; color: #aaa; font-size: clamp(16px,1.35vw,21px); line-height: 1.4; letter-spacing: -.01em; text-wrap: pretty; }
.panasia-footer__brand p:last-of-type a { color: #ddd; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
/* Five tracks were hardcoded against four groups, so the rightmost track stayed
   empty and the four columns crowded left. The renderer counts the tracks the
   configured groups actually need — a group wide enough to take two of them
   included. */
.panasia-footer__groups { display: grid; grid-template-columns: repeat(var(--panasia-footer-tracks,4),minmax(0,1fr)); gap: 32px; }
.panasia-footer__groups section { display: grid; align-content: start; gap: 10px; }
.panasia-footer__groups p { margin: 0 0 8px; color: #aaa; font-size: 13px; letter-spacing: .01em; }
.panasia-footer a { color: inherit; text-decoration: none; }
.panasia-footer__groups a, .panasia-footer__legal a { display: inline-flex; min-height: 44px; align-items: center; }
.panasia-footer a:visited { color: #b8b8b8; }
.panasia-footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; padding-top: 20px; border-top: 1px solid #333; color: #999; font-size: 12px; }
.panasia-privacy-notice { display: none; width: auto; max-width: none; height: auto; max-height: none; margin: 0; padding: 0; border: 0; background: transparent; color: #151515; font-family: Aeonik,Arial,sans-serif; }
.panasia-privacy-notice::backdrop { background: transparent; }
.panasia-privacy-notice:target { position: fixed; inset: 0; z-index: 2147483002; display: grid; place-items: center; padding: 32px; overflow: hidden; overscroll-behavior: contain; }
.panasia-privacy-notice[hidden] { display: none; }
.panasia-privacy-notice__backdrop { position: absolute; inset: 0; background: rgba(8,8,8,.58); backdrop-filter: blur(5px); }
.panasia-privacy-notice__panel { position: relative; z-index: 1; display: grid; width: min(920px,100%); max-height: min(780px,calc(100dvh - 64px)); gap: 32px; overflow-y: auto; overscroll-behavior: contain; padding: 36px 40px 44px; border: 1px solid rgba(21,21,21,.15); border-radius: 18px; background: #f4f3ef; box-shadow: 0 30px 90px rgba(0,0,0,.36); scrollbar-gutter: stable; }
.panasia-privacy-notice__close-form { position: sticky; top: 0; z-index: 2; display: flex; height: 0; justify-content: flex-end; margin: 0; }
.panasia-privacy-notice__close { display: inline-flex; width: 44px; min-width: 44px; height: 44px; align-items: center; justify-content: center; padding: 0; border: 1px solid #151515; border-radius: 50%; background: #f4f3ef; color: inherit; font: 300 28px/1 Aeonik,Arial,sans-serif; cursor: pointer; }
.panasia-privacy-notice__close:focus-visible { outline: 2px solid #151515; outline-offset: 3px; }
.panasia-privacy-notice__header { max-width: 760px; padding-right: 64px; }
.panasia-privacy-notice__eyebrow, .panasia-privacy-notice__label { margin: 0 0 12px; color: #686868; font-size: 12px; letter-spacing: .08em; }
.panasia-privacy-notice h2 { margin: 0; font-size: clamp(34px,4vw,52px); font-weight: 400; line-height: 1.02; letter-spacing: -.035em; }
.panasia-privacy-notice__meta { max-width: 72ch; margin: 20px 0 0; color: #5f5f5f; font-size: 14px; line-height: 1.55; }
.panasia-privacy-notice__block { padding-top: 24px; border-top: 1px solid #c9c8c3; }
.panasia-privacy-notice__block h3 { margin: 0 0 16px; font-size: 20px; font-weight: 500; }
.panasia-privacy-notice__block p, .panasia-privacy-notice__block li { max-width: 72ch; font-size: 16px; line-height: 1.65; }
.panasia-privacy-notice__block ul { margin: 0 0 24px; padding-left: 1.2em; }
.panasia-privacy-notice__block a { color: inherit; overflow-wrap: anywhere; }

@media (max-width: 1023px) {
  .panasia-announcement { min-height: 63px; padding-inline: 48px; }
  .panasia-announcement__content { position: relative; flex-wrap: wrap; gap: 2px 8px; text-align: center; }
  /* Below 1024 the bar wraps into two full-width rows (label, then link) and the
     mark is pinned out of flow so the rows stay centred on the bar rather than
     on the leftover space beside a 58px mark. `top: 2px` put the mark on the
     label row, and the label is `white-space: nowrap` and wider than the row it
     is centred in, so it overflows symmetrically and its first glyphs land under
     the mark (50px of overprint at 360, 36 at 390, 24 at 414). The link row is
     the one row with free space on the left — its text is only ~114px wide and
     centred — so the mark is pinned to the bar's vertical centre, which lands it
     on that row, mirroring the dismiss button pinned the same way on the right.
     No effect at >=1024, where this whole block is off and the mark is static. */
  .panasia-announcement .panasia-wordmark--announcement { position: absolute; top: 50%; left: 0; transform: translateY(-50%); --panasia-wordmark-width: 58px; }
  .panasia-announcement__label { flex-basis: 100%; font-size: 12px; }
  /* The link is an `inline-flex` box that `flex-basis: 100%` stretches across the
     whole row, and its default `flex-start` left-aligned the label inside it — so
     the link read as off-centre under a centred sentence, and it was the one run
     of text still sitting under the pinned mark. Centring the link's own content
     puts it on the bar's centre line with the sentence above it and clears the
     mark's column outright. */
  .panasia-announcement a { flex-basis: 100%; justify-content: center; font-size: 12px; }
  .panasia-navigation__captured-panels { display: none; }
  .panasia-captured-scale-shell[data-mode="standard"] { transition: transform 320ms cubic-bezier(.32,.72,0,1), color 300ms, background-color 300ms; will-change: transform; }
  .panasia-captured-scale-shell[data-mode="standard"][data-panasia-mobile-header="hidden"] { transform: translateY(calc(-100% - var(--announcement-offset, 0px))); }
  .panasia-navigation__bar { min-height: 70px; grid-template-columns: 1fr auto; gap: 8px; padding: 0 24px; transition: transform 320ms cubic-bezier(.32,.72,0,1); will-change: transform; }
  .panasia-navigation[data-panasia-mobile-header="hidden"] .panasia-navigation__bar { transform: translateY(calc(-100% - var(--announcement-offset, 0px))); }
  .panasia-navigation__brand { grid-column: auto; }
  .panasia-navigation__desktop, .panasia-navigation__actions > .panasia-navigation__action, .panasia-navigation__panels { display: none; }
  .panasia-navigation__actions { grid-column: auto; gap: 8px; }
  .panasia-navigation__actions > .panasia-navigation__action--primary { display: inline-flex; }
  /* Same 44px pointer target as the rest of the header controls, given back on
     every side as -2px margin so the two 20px bars stay exactly where they were
     and the actions row keeps its 40px measure — the menu button is the control
     a phone reader reaches for first, and it was 40x40. */
  .panasia-navigation__mobile-toggle { display: inline-grid; width: 44px; height: 44px; margin: -2px; place-content: center; gap: 5px; border: 0; border-radius: 8px; background: transparent; }
  .panasia-navigation__actions > .panasia-navigation__action--primary { min-height: 44px; }
  /* The captured shell sizes its own controls with Tailwind utilities
     (size-10 = 40px), so the owned-shell rules above never reach them.
     min-height wins over the utility's fixed height. */
  header .CMSLink, header a.inline-flex.size-10, header button.inline-flex.size-10 { min-height: 44px; }
  /* The captured brand link wraps the wordmark with no padding, so it inherited
     the wordmark's own 15px height as its tap target. */
  header a.w-max { display: inline-flex; align-items: center; min-height: 44px; }
  .panasia-footer__brand a { display: inline-flex; align-items: center; min-height: 44px; }
  .panasia-navigation__mobile-toggle span { width: 20px; height: 1px; background: currentColor; }
  .panasia-navigation__dialog[open] { display: block; }
  .panasia-footer { gap: 48px; padding-inline: 20px; }
  .panasia-footer__groups { grid-template-columns: repeat(2,1fr); }
  .panasia-privacy-notice:target { padding: 12px; }
  .panasia-privacy-notice__panel { max-height: calc(100dvh - 24px); gap: 28px; padding: 24px 20px 36px; border-radius: 14px; }
  .panasia-privacy-notice__header { padding-right: 52px; }
  .panasia-privacy-notice h2 { font-size: clamp(32px,10vw,42px); }
}

@media (max-width: 520px) { .panasia-footer__groups { grid-template-columns: 1fr; } }
@media (max-width: 359px) {
  /* Scale's short mobile CTA fits its 24px shell padding. Panasia's longer
     label needs a compact outer inset to keep the 40px menu target on-screen. */
  html [data-panasia-navigation-root]
    a[href="/contact"].px-6 {
    padding-inline: 8px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .panasia-captured-scale-shell[data-mode="standard"], .panasia-navigation__bar { transition: none; }
  .panasia-navigation__dialog[data-closing="true"], .panasia-navigation__dialog-categories, .panasia-navigation__dialog-details { transition: none; }
  .panasia-navigation__dialog[data-closing="true"] { transform: none; }
}
@media (forced-colors: active) {
  .panasia-navigation__bar, .panasia-navigation__panel, .panasia-navigation__dialog, .panasia-footer { border-color: CanvasText; background: Canvas; color: CanvasText; forced-color-adjust: auto; }
  .panasia-navigation__action--primary { background: Highlight; color: HighlightText; }
}
