html.single-screen-root,body.single-screen{height:100%;overflow:hidden;overscroll-behavior:none}
.single-screen #main,.single-screen .hero{height:100dvh;min-height:0;max-height:none;overflow:hidden}
.single-screen .hero{isolation:isolate}
.single-screen .site-header{position:fixed;inset:0 0 auto;z-index:20;padding-top:max(40px,env(safe-area-inset-top));pointer-events:none}
.single-screen .site-header a,.single-screen .navigation{pointer-events:auto}
.single-screen .hero-footer{z-index:12;bottom:max(28px,env(safe-area-inset-bottom))}
.single-screen #unfold-field{transition:opacity .5s var(--ease)}
.single-screen[data-view]:not([data-view="home"]) #unfold-field{opacity:.17}
.single-screen .hero-statement[hidden],.screen-panel[hidden]{display:none}
.single-screen .hero-statement{animation:screen-enter .5s var(--ease)}
.single-screen .navigation{position:relative;display:flex;flex-direction:column;align-items:flex-end}
.single-screen #site-menu{position:absolute;right:0;top:62px;min-width:150px;padding:0;background:none;border:0;box-shadow:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}
.single-screen #site-menu[hidden]{display:none}
.single-screen #site-menu a{padding:8px 0;min-height:44px;font:400 16px/1.75 var(--sans);color:var(--muted);white-space:nowrap;text-decoration:none;text-underline-offset:7px}
.single-screen #site-menu a:hover,.single-screen #site-menu a[aria-current="page"]{color:var(--ink)}
.single-screen #site-menu a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--rule)}
.single-screen #site-menu{animation:menu-enter .3s var(--ease)}
.single-screen .menu-toggle{width:44px;height:44px;justify-content:center}
.single-screen .menu-toggle path{transition:d .2s}
.screen-panel{position:absolute;z-index:3;inset:144px var(--gutter) 94px;display:flex;justify-content:center;animation:screen-enter .4s var(--ease)}
.panel-scroll{width:min(100%,660px);height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--rule) transparent;padding:0 16px 24px 0;text-align:left;outline-offset:6px}
.panel-back{font:400 13px/1.5 var(--sans);color:var(--muted);min-height:44px;display:inline-flex;align-items:center;margin-bottom:18px}
.screen-panel h2{font:400 clamp(30px,3vw,42px)/1.55 var(--serif);margin:0 0 28px;letter-spacing:0}
:lang(en) .screen-panel h2{font-family:var(--sans);line-height:1.2;letter-spacing:-.025em}
.screen-panel p{font:400 17px/2 var(--sans);color:var(--muted);margin:0 0 24px;max-width:70ch}
.screen-panel .reading-copy{max-width:none}
.screen-panel .reading-copy .closing-line{color:var(--ink);margin-top:28px}
@keyframes screen-enter{from{opacity:.3;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes menu-enter{from{opacity:.3;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:701px) and (max-width:1200px){.single-screen.menu-open .screen-panel{right:calc(var(--gutter) + 175px)}}
@media(max-width:700px){
 .single-screen .site-header{padding-top:max(23px,env(safe-area-inset-top))}
 .single-screen #site-menu{top:58px;gap:9px}
 .single-screen #site-menu a{font-size:20px;line-height:1.6;min-height:48px}
 .single-screen.menu-open #main{opacity:.12;pointer-events:none;transition:opacity .25s}
 .single-screen #main{transition:opacity .25s}
 .screen-panel{inset:112px 24px 78px}
 .panel-scroll{padding-right:8px}
 .panel-back{margin-bottom:14px}
 .screen-panel h2{font-size:30px;margin-bottom:24px}
 .screen-panel p{font-size:16px;line-height:1.9;margin-bottom:22px}
 .single-screen .hero-footer{bottom:max(20px,env(safe-area-inset-bottom))}
}
@media(max-height:740px){
 .single-screen .hero-statement{top:50%;padding-top:0;transform:translateY(-46%);animation:none}
 .single-screen .hero-description{margin-top:24px}
 .single-screen .hero-action{margin-top:25px}
 .screen-panel{top:108px;bottom:70px}
}
@media(max-height:480px){
 .single-screen .site-header{padding-top:16px}
 .single-screen .brand img{width:130px;height:auto}
 .single-screen .hero-statement{top:52%}
 .single-screen .hero-statement h1{font-size:28px;line-height:1.2}
 .single-screen .hero-description{font-size:13px;line-height:1.65;margin-top:16px}
 .single-screen .hero-action{margin-top:12px}
 .screen-panel{top:84px;bottom:58px}
 .single-screen .hero-footer{bottom:12px}
}
@media(prefers-reduced-motion:reduce){.single-screen *, .single-screen *::before{animation:none!important;transition:none!important}}

.single-screen .company-name{margin-right:auto;max-width:calc(100% - 112px);font:500 14px/1.6 var(--sans);color:var(--muted);text-align:left;overflow-wrap:break-word}
.single-screen .hero-footer button{flex-shrink:0}
@media(max-height:740px){html[lang=en] .single-screen .hero-statement{top:50%}}
@media(max-height:480px){html[lang=en] .single-screen .hero-statement{top:52%}}

.philosophy-quote{margin:48px 0 0;padding:24px 0 0;border-top:1px solid var(--rule)}
.philosophy-quote blockquote{margin:0}
.screen-panel .philosophy-quote p{color:var(--ink);font:400 17px/1.9 var(--serif);margin:0 0 12px}
.philosophy-quote figcaption{font:400 13px/1.7 var(--sans);color:var(--muted)}
.philosophy-quote figcaption a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-decoration-color:var(--rule)}
@media(max-width:700px){.screen-panel .philosophy-quote p{font-size:16px}}

.screen-panel.philosophy .reading-copy{max-width:none}
.philosophy-principles{list-style:disc;margin:24px 0 28px;padding-left:20px;color:var(--ink)}
.philosophy-principles li{padding-left:4px}
.philosophy-principles summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;cursor:pointer;font:500 17px/1.65 var(--sans);color:var(--ink)}
.philosophy-principles summary::-webkit-details-marker{display:none}
.philosophy-principles summary:hover{color:#fff}
.philosophy-principles summary svg{width:14px;height:14px;flex:none;color:var(--muted);transition:transform .2s var(--ease)}
.philosophy-principles details[open] summary svg{transform:rotate(90deg)}
.screen-panel .philosophy-principles p{font-size:16px;line-height:1.9;margin:4px 30px 18px 0}
@media(max-width:700px){.philosophy-principles{margin-top:20px}.philosophy-principles summary{font-size:16px}.screen-panel .philosophy-principles p{font-size:15px}}
