/* A quiet, consistent motion language for the approved landing page. */
html.htg-scroll-managed {scroll-behavior:auto!important;scrollbar-gutter:stable;}
.polished-motion {
  --ease-out: cubic-bezier(.25, .1, .25, 1);
  --ease-flow: cubic-bezier(.4, 0, .2, 1);
}
.polished-motion .header {
  background: #ffffffed;
  backdrop-filter: blur(20px) saturate(135%);
  transition: background .45s var(--ease-flow), box-shadow .45s var(--ease-flow), border-color .45s;
  border-bottom-color: transparent;
  box-shadow: none;
}
.polished-motion .header.is-scrolled {
  background: #fffffff5;
  border-bottom-color: #2620200a;
  box-shadow: 0 5px 28px #30202409;
}
.polished-motion .desktop-nav a {
  transition: color .25s;
}
.polished-motion .desktop-nav a:after {
  transition: transform .45s var(--ease-out);
}
.polished-motion .desktop-nav a[aria-current="location"] {color: var(--red);}
.polished-motion .desktop-nav a[aria-current="location"]:after {transform: scaleX(1);}
.polished-motion .reveal {
  transition: opacity .72s var(--ease-out), transform .9s var(--ease-out);
  transition-delay: var(--reveal-delay, 0ms);
}
.motion-ready .polished-motion .reveal {transform: translate3d(0, 12px, 0);}
.motion-ready .polished-motion .reveal.visible {transform: none;}
.polished-motion .button,
.polished-motion .header-contact,
.polished-motion .art-links .art-note {
  transition: transform .4s var(--ease-out), box-shadow .4s var(--ease-out), background-color .3s, border-color .3s;
}
.polished-motion .button span,
.polished-motion .header-contact span,
.polished-motion .art-note i,
.polished-motion .text-link span,
.polished-motion .hero-secondary span {
  transition: transform .4s var(--ease-out);
}
.polished-motion .pillar-tab {
  background: #fff;
  transition: opacity .8s var(--ease-out), transform .5s var(--ease-out), background-color .35s, color .3s, border-color .35s, box-shadow .45s;
}
.polished-motion .pillar-tab.active {
  background: var(--red);
  border-color: var(--red);
  box-shadow: 0 10px 25px #a834341c;
}
.polished-motion .pillar-index,
.polished-motion .pillar-tag,
.polished-motion .pillar-arrow {transition: color .3s, transform .4s var(--ease-out);}
.polished-motion .pillar-panels {display:grid;overflow:hidden;overflow-anchor:none;}
.polished-motion .pillar-panels>section {grid-area:1/1;align-self:start;}
.polished-motion .pillar-panels>section[hidden] {display:grid;visibility:hidden;pointer-events:none;}
.polished-motion .hero-art img,
.polished-motion .vision-art img {transition: transform 1s var(--ease-out);}
.polished-motion .vision-art {box-shadow: 0 10px 32px #38202b05;}
.polished-motion .vision {align-items: start;}
.polished-motion .vision-content {padding-top: clamp(0px, 12vw - 120px, 54px);}
.polished-motion .partners .partner-logos li {
  transition: opacity .7s var(--ease-out), transform .65s var(--ease-out), border-color .35s, box-shadow .45s;
  transition-delay: var(--reveal-delay, 0ms), var(--reveal-delay, 0ms), 0ms, 0ms;
}
.polished-motion .community-values>div {transition: opacity .72s, transform .75s var(--ease-out), border-color .35s;}
.polished-motion .vision-more {overflow:hidden;overflow-anchor:none;}
.polished-motion .vision-more summary span {transition: transform .4s var(--ease-out);}
.polished-motion .vision-more[open]:not(.is-expanded) summary span {transform: rotate(0);}
.polished-motion .vision-more.is-expanded summary span {transform: rotate(45deg);}
.polished-motion .contact-form :is(input,textarea,select) {
  transition: border-color .3s, box-shadow .4s var(--ease-out), background-color .3s;
}
.polished-motion .contact-form :is(input,textarea,select):focus {background: #fff;box-shadow: 0 0 0 4px #a834340b;}
@media (hover:hover) and (pointer:fine) {
  .polished-motion .button:hover {transform: translateY(-3px);box-shadow: 0 9px 22px #a8343420;}
  .polished-motion .header-contact:hover,
  .polished-motion .art-links .art-note:hover {transform: translateY(-3px);box-shadow: 0 8px 22px #5126260a;}
  .polished-motion :is(.button,.header-contact,.art-note,.text-link):hover :is(span[aria-hidden],i) {transform: translate(2px,-2px);}
  .polished-motion .hero-secondary:hover span {transform: translateX(4px);}
  .polished-motion .hero-art:hover img {transform: translateY(-4px);}
  .polished-motion .vision-art:hover img {transform: scale(1.016);}
  .polished-motion .pillar-tab.visible:hover {transform: translateY(-4px);box-shadow: 0 12px 26px #532b3610;}
  .polished-motion .partner-logos li.visible:hover {transform: translateY(-3px);border-color: #d9beb9;box-shadow: 0 8px 22px #56202008;}
  .polished-motion .community-values>div.visible:hover {transform: translateX(4px);}
}
.polished-motion :is(.button,.header-contact,.art-note,.pillar-tab):active {transform: translateY(0) scale(.985);}
@media (max-width:800px) {
  .polished-motion .header,
  .polished-motion .header.is-scrolled {background:#fffffffA;backdrop-filter:none;}
  .motion-ready .polished-motion .reveal,
  .motion-ready .polished-motion .reveal.visible {transform:none;}
  .polished-motion .reveal,
  .polished-motion .partners .partner-logos li,
  .polished-motion .community-values>div {transition-property:opacity,border-color,box-shadow;transition-duration:.85s,.3s,.3s;}
  .polished-motion .art-links .art-note {backdrop-filter:none;}
  .polished-motion :is(.button,.header-contact,.art-note,.pillar-tab):active {transform:none;}
  .polished-motion .vision-content {padding-top: 0;}
  .polished-motion .mobile-nav {
    position: absolute;
    top: 100%; left: 0; right: 0;
    background: #fff;
    backdrop-filter: none;
    border-top: 1px solid #ece6e6;
    border-bottom: 1px solid #ece6e6;
    box-shadow: 0 16px 26px #3020240a;
    overflow: hidden;
    gap: 0;
    padding: 12px 24px 18px;
  }
  .polished-motion .mobile-nav a {padding: 13px 0;}
  .polished-motion .menu-toggle span {transition: transform .4s var(--ease-out);}
}
@media (hover:none) {
  .polished-motion .hero-art:hover img,
  .polished-motion .vision-art:hover img,
  .polished-motion .pillar-tab:hover,
  .polished-motion .community-values>div:hover {transform: none;}
}
@media (prefers-reduced-motion:reduce) {
  .motion-ready .polished-motion .reveal {opacity:1;transform:none;}
  .polished-motion *, .polished-motion *:before, .polished-motion *:after {animation:none!important;transition:none!important;}
  .polished-motion :is(.hero-art,.vision-art):hover img,
  .polished-motion :is(.button,.header-contact,.art-note,.pillar-tab,.partner-logos li,.community-values>div):hover,
  .polished-motion :is(.button,.header-contact,.art-note,.pillar-tab):active {transform:none;}
}
