/* Calm motion and more consistent component rhythm across Term. */
:root{--ease-ui:cubic-bezier(.23,1,.32,1);--duration-ui:180ms}
.public-site .btn{transition:background-color 160ms ease,transform 120ms var(--ease-ui),box-shadow 160ms ease}
.public-site .btn:focus-visible{box-shadow:0 0 0 5px var(--accent-soft)}
.public-site .btn:disabled{cursor:not-allowed}
.nav-label-short{display:none}
.public-header nav>a{position:relative;transition:color 160ms ease}
.public-header nav>a::after{content:'';position:absolute;inset:auto 0 -7px;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-ui) var(--ease-ui)}
.public-header nav>a:focus-visible::after{transform:scaleX(1)}
.directory-card{display:flex;flex-direction:column;min-height:310px!important;border-color:#e5e5e980;box-shadow:0 2px 6px #1d1d1f02;transition:transform 220ms var(--ease-ui),box-shadow 220ms ease,border-color 180ms ease}
.directory-card>.directory-logo{margin:0 0 16px;padding-inline:0;width:184px;height:80px}
.directory-card>.directory-logo--dark{padding-inline:12px}
.directory-card>.directory-monogram{width:56px;height:56px;margin:12px 0 28px;display:grid;place-items:center}
.directory-location{position:static;display:block;color:var(--text-secondary);font-size:.7rem;line-height:1.5;margin:0 0 .35rem}
.directory-card h3{margin:.2rem 0 .5rem;max-width:100%;text-wrap:balance}
.directory-card p{margin-bottom:1.5rem}
.directory-actions{margin-top:auto;padding-top:.25rem;align-items:center}
.directory-actions a{line-height:1.5}
.directory-count{font-variant-numeric:tabular-nums;min-height:1.5em}
.directory-pagination{width:fit-content;max-width:100%;margin:2rem auto 0;padding:.45rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);gap:1rem}
.directory-pagination .btn{background:transparent}
.directory-pagination [data-page-label]{min-width:3rem;text-align:center;color:var(--text-secondary);font-variant-numeric:tabular-nums}
.directory-empty{grid-column:1/-1;padding:3rem 1.5rem;border:1px dashed var(--separator-strong);border-radius:22px;text-align:center;background:var(--surface)}
.directory-empty h3{font-size:1.4rem;font-weight:600;letter-spacing:-.035em;margin:0 0 .5rem}
.directory-empty p{color:var(--text-secondary);margin:0;font-size:.9rem}
.uni-nav--motion{position:relative;isolation:isolate}
.uni-nav--motion>.btn{position:relative;z-index:1}
.uni-nav--motion>.btn[aria-current=page]{background:transparent!important;box-shadow:none!important}
.uni-nav-indicator{position:absolute;z-index:0;background:var(--bg-elevated,#fff);border-radius:12px;box-shadow:0 2px 7px #0000000a;transform-origin:top left;pointer-events:none}
.uni-content{min-width:0}
.public-site .uni-save{gap:.65rem}
.public-site .uni-save [data-save-status]{font-size:.75rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}
.public-site .uni-stats strong{font-variant-numeric:tabular-nums;letter-spacing:-.05em}
.public-site .uni-card{border-color:var(--border);transition:border-color 180ms ease,box-shadow 180ms ease}
.public-site .uni-card-top{gap:1rem;flex-wrap:wrap;align-items:center}
.public-site .uni-card h3{text-wrap:balance;line-height:1.35}
.public-site .uni-card-bottom{gap:.65rem}
.public-site .uni-card-bottom select{min-height:44px;border:1px solid var(--separator-strong);border-radius:12px;background:var(--surface);color:var(--text);padding:.55rem .7rem;min-width:0}
.public-site .uni-text-button{min-height:44px;text-underline-offset:4px}
.public-site .finance-summary{box-shadow:0 8px 32px #1d1d1f04}
.public-site .finance-summary .uni-cost-lines>div{padding-block:.45rem;gap:1rem}
.public-site .finance-summary .uni-cost-lines>div+div{border-top:1px solid #e5e5e980}
.public-site .finance-summary dd{white-space:nowrap}
.public-site .finance-kpis>div{padding:.85rem;border-radius:12px;background:var(--bg)}
.public-site details summary{cursor:pointer;text-underline-offset:4px}
.public-site details[open]>summary{color:var(--accent-text)}
html[data-input-mode=keyboard] .public-site dialog[open]{animation:none}
@media(hover:hover) and (pointer:fine){
 .public-header nav>a:hover::after{transform:scaleX(1)}
 .directory-card:hover{transform:translateY(-4px);border-color:#c9d9ef;box-shadow:0 12px 30px #1537550c}
 .public-site .uni-card:hover{border-color:#c9d9ef;box-shadow:0 8px 22px #15375509}
}
@media(max-width:700px){
 .nav-label-full{display:none}
 .nav-label-short{display:inline}
 .public-site .public-header nav .btn{padding-inline:.55rem}
 .public-header nav{gap:.2rem}
 .directory-card{padding:1.4rem;min-height:300px!important}
 .directory-pagination{gap:.35rem;width:100%;justify-content:space-between}
 .directory-pagination .btn{padding-inline:.75rem}
 .public-site .uni-save{align-items:flex-start}
 .public-site .finance-kpis{gap:.7rem}
 .public-site .finance-summary .uni-cost-lines dt{font-size:.75rem}
}
@media(prefers-reduced-motion:reduce){
 .public-header nav>a::after{transition:none}
 .directory-card,.public-site .uni-card{transition:none}
 .directory-card:hover{transform:none}
}
