/* Public mobile QA: retain the existing forest, gold and cream composition. */
body:has(:is(#nr-root,.nr-shared-header-page,.institutional-page,.nr-not-found)){
  padding-bottom:0;
}

/* Increase hit areas, not the size of the wordmark lettering. */
.nr-site-header .nr-site-wordmark{min-height:44px;align-content:center}
#nr-root #nav .wm{min-height:44px;align-content:center}
:is(.event-subpage,.institutional-page,.nr-not-found) .btn,
.event-request-form .event-submit{min-height:44px;align-content:center}
.event-modal-close{width:44px;height:44px}

/* Editable boundaries are stronger than decorative divider lines. */
.event-request-form .event-field :is(input,textarea){border-color:rgba(201,168,76,.6)}
.event-request-form a:focus-visible,
.pp-page .pp-content a:focus-visible,
.institutional-main a:focus-visible{
  outline:2px solid var(--gold2,#e8c97a);outline-offset:3px;
}

/* Labels must never reflow merely because a control is hovered or pressed. */
:is(#nr-root,.event-subpage,.institutional-page,.nr-not-found) .btn:hover{
  letter-spacing:1.6px!important;
}
:is(#nr-root,.event-subpage,.institutional-page,.nr-not-found) .btn.ghost:hover{
  letter-spacing:1.6px!important;
}
:is(#nr-root,.event-subpage,.institutional-page,.nr-not-found) .btn{
  transition-property:transform,background-color,border-color,color,opacity!important;
}

/* Touchscreens do not acquire a persistent hover lift after activation. */
@media(hover:none),(pointer:coarse){
  :is(#nr-root,.event-subpage,.institutional-page,.nr-not-found) .btn:hover{
    transform:none!important;
  }
}

/* Late enhanced-button rules must not override the visitor's motion preference. */
@media(prefers-reduced-motion:reduce){
  :is(#nr-root,.event-subpage,.institutional-page,.nr-not-found) .btn,
  :is(#nr-root,.event-subpage,.institutional-page,.nr-not-found) .btn:hover,
  :is(#nr-root,.event-subpage,.institutional-page,.nr-not-found) .btn:active{
    transition:none!important;transform:none!important;
  }
}

/* A bottom-of-page action replaces the obstructing floating phone control. */
#nr-root .nr-footer-top{display:none}
#nr-root .nr-footer-utility{display:none}
@media(max-width:940px){
  #nr-root #btt{display:none!important}
  #nr-root .nr-footer-utility{display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding-block:18px 10px;margin-top:24px}
  #nr-root .nr-footer-top{display:inline-flex;align-items:center;gap:14px;min-height:44px;padding-inline:12px 0;color:var(--cream);font-family:var(--serif);font-size:12px;letter-spacing:2px;line-height:1.5;text-transform:uppercase;text-decoration:none}
  #nr-root .nr-footer-top span{border-bottom:1px solid var(--line);padding-bottom:3px}
  #nr-root .nr-footer-top .nr-line-icon{color:var(--gold2);flex-shrink:0}
  #nr-root .nr-footer-top:hover span{border-color:var(--gold)}
  #nr-root .nr-footer-top:focus-visible{outline:2px solid var(--gold2);outline-offset:4px}
}

/* Short landscape viewports need the same fixed-navigation clearance as phones. */
@media(max-width:940px) and (max-height:500px){
  #nr-root .hero{padding-top:calc(var(--nr-nav-clearance,84px) + 24px);padding-bottom:48px}
  #nr-root #heroCv{opacity:.16}
  #nr-root #heroCap{display:none}
}

/* First-column constraints must not also constrain the criteria column header. */
.institutional-table th{width:auto}
.institutional-table tr>:first-child{width:24%}
@media(max-width:680px){
  .institutional-table{table-layout:fixed}
  .institutional-table th{width:auto}
  .institutional-table tr>:first-child{width:30%}
  .institutional-table tr>:nth-child(2){width:70%}
}

/* Policy footer and prose rhythm: existing content stays unchanged. */
.pp-page .pp-section{padding:0;margin:0}
.pp-page .pp-footer-links{flex-wrap:wrap;gap:8px 16px}
.pp-page .pp-footer-link{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:8px 0}
.pp-page .pp-body a{color:var(--gold)}
.pp-page .pp-body a:hover{color:var(--gold2)}
.pp-page .pp-cell-label{display:none}

/* Retain explicit table roles and all column labels, with full-width values. */
@media(max-width:480px){
  .pp-page .pp-purpose-table{display:block;table-layout:auto;font-size:15px}
  .pp-page .pp-purpose-table thead{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
  .pp-page .pp-purpose-table tbody{display:block}
  .pp-page .pp-purpose-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--line);padding-block:14px;gap:12px}
  .pp-page .pp-purpose-table td{display:block;width:100%;padding:0;border:none;overflow-wrap:normal;word-break:normal;line-height:1.75}
  .pp-page .pp-purpose-table .pp-cell-label{display:block;font-family:var(--serif);font-size:11px;line-height:1.5;letter-spacing:2px;text-transform:uppercase;color:var(--gold2);margin-bottom:5px}
}

/* Narrow-phone Method rows read as a lens heading followed by its criteria. */
@media(max-width:480px){
  .institutional-table-wrap .institutional-table{display:block}
  .institutional-table-wrap .institutional-table thead{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
  .institutional-table-wrap .institutional-table tbody{display:block}
  .institutional-table-wrap .institutional-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--line);padding-block:22px;gap:12px}
  .institutional-table-wrap .institutional-table tbody tr>:is(th,td){display:block;width:100%;padding:0;border:0}
  .institutional-table-wrap .institutional-table tbody th{font-size:24px;line-height:1.25;overflow-wrap:break-word}
  .institutional-table-wrap .institutional-table tbody td p{margin:0;max-width:none}
}

@media(max-width:480px){
  .institutional-table-wrap .institutional-table caption{display:block;width:100%;max-width:none;text-align:left}
}
