/* Public page controls share a responsive toolbar. */
.site-controls { position:absolute;top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));z-index:30;display:flex;gap:.5rem;max-width:calc(100% - 2rem); }
.site-language-control {min-width:2.75rem;min-height:2.75rem;padding:.55rem .75rem;border:1px solid currentColor;border-radius:0;background:var(--paper);color:var(--ink);font:500 1rem/1.25 var(--sans);cursor:pointer;touch-action:manipulation;}
.site-language-control:focus-visible,.company-address-trigger:focus-visible {outline:2px solid currentColor;outline-offset:4px;}
.site-language-control:hover {background:var(--paper-deep);}
html[lang="en"] .manifesto-title {font-family:Georgia,'Times New Roman',serif!important;letter-spacing:-.025em!important;line-height:1.2!important;}
html[lang="en"] .manifesto-line.is-complete {white-space:normal;}
html[lang="en"] .form-card h2 {letter-spacing:-.02em;}
html[lang="en"] .form-card p,html[lang="en"] .form-foot {letter-spacing:normal;}
/* The address has its own bottom row; enlarged text grows the cover instead of overlapping it. */
.login .login-art.has-company-address {position:relative;inset:auto;display:flex;flex-direction:column;min-height:100svh;--cover-content-width:calc(100% - 2 * var(--feature-left) - clamp(380px,34.5vw,470px));padding-block:max(10rem,18svh,var(--cover-copy-floor,0px)) max(1.25rem,env(safe-area-inset-bottom));}
.login .has-company-address .art-copy {position:relative;inset:auto;left:auto!important;flex:0 0 auto;width:var(--cover-content-width);margin:auto 0 1rem var(--feature-left);}
.company-address {position:relative;z-index:2;flex:0 0 auto;font:normal var(--type-body)/1.65 var(--sans);width:var(--cover-content-width);max-width:100%;margin:0 0 0 var(--feature-left);}
.company-address-trigger {box-sizing:border-box;color:#fff;display:grid;grid-template-columns:1.1em minmax(0,1fr);align-items:start;gap:.6em;width:100%;padding:.7em .85em;border:1px solid rgba(255,255,255,.8);border-radius:0;background:rgba(0,0,0,.2);text-align:start;font:inherit;line-height:inherit;min-height:var(--control-min);cursor:pointer;touch-action:manipulation;}
.company-address-trigger:hover {background:rgba(0,0,0,.38);}
.company-address-icon {display:block;width:1.1em;height:1.1em;margin-top:.27em;}
.company-address-icon svg {display:block;width:100%;height:100%;}
.company-address-copy {display:flex;flex-wrap:wrap;column-gap:.6em;row-gap:.1em;min-width:0;}
.company-address-street,.company-address-building {display:inline-block;flex:0 1 auto;max-width:100%;overflow-wrap:anywhere;}
.company-address-part {display:inline-block;max-width:100%;overflow-wrap:anywhere;}
html[lang="en"] .company-address-street {display:flex;flex-wrap:wrap;column-gap:.35em;flex-direction:row-reverse;justify-content:flex-end;}
.company-address .company-directions {display:inline-block;flex:0 0 auto;text-decoration:underline;text-underline-offset:.22em;}
@media(max-width:1023px){
 .login {grid-template-columns:minmax(0,1fr);}
 .login .login-art.has-company-address {--cover-content-width:calc(100% - 2 * var(--feature-left));min-height:58svh;padding-top:0;}
 .login .has-company-address .art-copy {margin-top:max(calc(max(clamp(92px,17svh,172px),8rem) + 1.5rem),var(--cover-copy-floor,0px));}
 .company-address {margin-top:auto;}
}
@media(max-width:599px){
 .login .login-art.has-company-address {min-height:49svh;}
 .login .has-company-address .art-copy {margin-top:max(calc(max(clamp(88px,13svh,105px),8rem) + 1.5rem),var(--cover-copy-floor,0px));}
}
#loginRequestView .field select {width:100%;min-height:2.75rem;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:.5rem;}
html[data-theme="dark"] .form-card h2 {color:#f4f4f1;}
html[data-theme="dark"] .login-form .eyebrow {color:#bdbdb8!important;}
html[data-theme="dark"] #notice {color:#d9c6ad;}
@media(max-width:1023px){
 .login-art .brand {top:5rem!important;max-width:calc(100vw - 2 * var(--feature-left))!important;}
 .login .art-copy {margin-top:max(clamp(92px,17svh,172px),8rem);}
}
@media(max-width:599px){.login .art-copy {margin-top:max(clamp(88px,13svh,105px),8rem);}}

.site-controls [data-home-appearance]{position:static;transform:none;white-space:nowrap;background:var(--paper);color:var(--ink);}
.site-controls [data-home-appearance]:hover{background:var(--ink);color:var(--paper);}
.app-active .site-controls [data-home-appearance],.app-active .topbar .site-controls [data-home-appearance]{display:none!important;}
.theme-menu{max-height:calc(100dvh - 28px);overflow-y:auto;}

/* In the authenticated header, settings participate in layout instead of covering identity controls. */
.topbar .site-controls{position:static;max-width:100%;flex-wrap:wrap;align-items:center;gap:.35rem;}
@media(min-width:1024px){
 .app-active .topbar{height:auto;min-height:78px;padding-block:.5rem;}
 .app-active .topbar .user{max-width:calc(50% - 170px);justify-content:flex-end;}
}

/* Company navigation: one-column choices retain room for text and touch. */
.company-navigation {box-sizing:border-box;width:min(32rem,calc(100% - 2rem));max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);margin:auto;padding:clamp(1rem,3vw,1.5rem);overflow:auto;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:var(--type-body)/1.6 var(--sans);}
.company-navigation::backdrop {background:rgba(0,0,0,.55);}
.company-navigation-head {display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;}
.company-navigation h2 {flex:1 1 10rem;min-width:0;overflow-wrap:anywhere;margin:0;font:500 var(--type-title-2)/1.4 var(--sans);letter-spacing:normal;}
.company-navigation p {margin:.85rem 0;overflow-wrap:anywhere;}
.company-navigation .company-navigation-hint {font-size:var(--type-subhead);color:var(--muted,var(--ink));}
.company-navigation button,.company-navigation a {box-sizing:border-box;min-height:var(--control-min);padding:.6rem .8rem;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:start;line-height:1.45;white-space:normal;overflow-wrap:anywhere;cursor:pointer;touch-action:manipulation;}
.company-navigation a {display:flex;align-items:center;text-decoration:none;}
.company-navigation button:hover,.company-navigation a:hover {background:var(--paper-deep);}
.company-navigation :is(a,button,textarea):focus-visible {outline:2px solid currentColor;outline-offset:3px;}
.company-navigation-head button {flex:0 0 auto;max-width:100%;margin-inline-start:auto;}
.company-map-options {display:grid;gap:.65rem;margin-block:1rem;}
.company-navigation-footer {display:flex;flex-wrap:wrap;gap:.65rem;padding-top:1rem;border-top:1px solid var(--line);}
.company-navigation-footer>* {flex:1 1 10rem;}
.company-navigation-wechat {padding:.75rem;border-inline-start:2px solid currentColor;}
.company-navigation textarea {box-sizing:border-box;width:100%;min-height:7em;padding:.6rem;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;resize:vertical;}
.company-navigation [hidden] {display:none;}
.company-navigation [data-copy-status]:empty {display:none;}

.company-navigation {overscroll-behavior:contain;}
.company-navigation.is-fallback {display:block;position:fixed;inset:0;z-index:10001;height:fit-content;}
.company-navigation-shade:not([hidden]) {position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.55);}

/* Equal public entry squares below the retained wordmark. */
.cover-entry-row {position:absolute;z-index:3;left:var(--feature-left);top:calc(var(--cover-logo-bottom,7rem) + 1rem);display:flex;flex-wrap:wrap;gap:.65rem;inline-size:var(--cover-content-width);container-type:inline-size;}
.cover-works-trigger {position:relative;flex:0 0 auto;display:grid;place-items:center;box-sizing:border-box;inline-size:min(max(4.75rem,calc(var(--cover-logo-height,1.5rem) * 2.8)),calc((100% - 1.3rem)/3));min-inline-size:4.75rem;aspect-ratio:1;block-size:auto;container-type:inline-size;padding:.2rem;border:1px solid #fff;border-radius:0;background:transparent;color:#fff;font:500 max(1.25rem,min(var(--cover-logo-height,1.5rem),calc((100cqi - 1.3rem)/10.5)))/1 var(--sans);letter-spacing:.04em;white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.2;text-shadow:0 1px 3px rgba(0,0,0,.35);cursor:pointer;touch-action:manipulation;}
.cover-works-trigger:hover {background:rgba(255,255,255,.1);color:#fff;}
.cover-works-trigger:focus-visible {outline:2px solid #fff;outline-offset:5px;}
.cover-works-trigger:active {transform:translateY(1px);}
html[lang="en"] .cover-works-trigger {font-size:max(1rem,min(calc(var(--cover-logo-height,1.5rem) * .8),calc((100cqi - 1.3rem)/12)));letter-spacing:0;}
/* Quiet two-sided reveal: text moves, while the square and hit target stay fixed. */
.cover-works-trigger {overflow:hidden;}
.cover-works-words {font-size:max(1.25rem,min(var(--cover-logo-height,1.5rem),calc((100cqi - .4rem)/3.3)));display:grid;justify-items:center;gap:.08em;max-inline-size:100%;}
html[lang="en"] .cover-works-words {font-size:1rem;}
html[lang="en"] .cover-works-word {white-space:normal;overflow-wrap:anywhere;max-inline-size:100%;}
.cover-works-word {display:block;white-space:nowrap;animation:cover-works-left 8s cubic-bezier(.22,.7,.24,1) infinite;}
.cover-works-projects {animation-name:cover-works-right;}
@keyframes cover-works-left {0%,70%,100%{opacity:1;filter:blur(0);transform:translateX(0);}82%,86%{opacity:0;filter:blur(3px);transform:translateX(-130%);}}
@keyframes cover-works-right {0%,70%,100%{opacity:1;filter:blur(0);transform:translateX(0);}82%,86%{opacity:0;filter:blur(3px);transform:translateX(130%);}}
.cover-works-trigger:is(:hover,:focus-visible) .cover-works-word {animation:none;opacity:1;filter:none;transform:none;}
@media(prefers-reduced-motion:reduce){.cover-works-word {animation:none;opacity:1;filter:none;transform:none;}}
body.viewing-works #loginScreen,body.viewing-works #appScreen,body.viewing-works>.site-controls {display:none!important;}
.cover-works-page {box-sizing:border-box;display:grid;grid-template-rows:auto 1fr;min-block-size:100svh;padding:max(1.25rem,env(safe-area-inset-top)) var(--page-gutter) max(1.25rem,env(safe-area-inset-bottom));background:var(--paper);color:var(--ink);}
.cover-works-page[hidden] {display:none;}
.cover-works-back {justify-self:start;min-block-size:var(--control-min);padding:.65rem 1.1rem;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:500 var(--type-body)/1.3 var(--sans);cursor:pointer;}
.cover-works-back:focus-visible {outline:2px solid currentColor;outline-offset:4px;}
.cover-works-page h1 {align-self:center;justify-self:center;text-align:center;max-inline-size:100%;margin:2rem 0;font:500 clamp(1.6rem,4vw,2.6rem)/1.6 var(--sans);overflow-wrap:anywhere;}

/* Enlarge phone headlines within their existing line groups and reserved headline area. */
.login .manifesto-title {inline-size:100%;}
.manifesto-sizing-reference {position:absolute;visibility:hidden;pointer-events:none;font-size:clamp(1.29412rem,5.5cqi,3.52941rem);}
@media(max-width:599px){.login .manifesto-title {font-size:var(--cover-headline-size,clamp(1.29412rem,5.5cqi,3.52941rem))!important;}}
