/* Zylo: shared accessibility, responsive layout and motion layer. */
html{scroll-padding-top:100px}body{overflow-wrap:break-word}button{font:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #71dafa;outline-offset:6px}a,button,summary{touch-action:manipulation}button[hidden],[hidden]{display:none!important}.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:#fff;color:#111;padding:14px 20px;transform:translateY(-200%)}.skip-link:focus{transform:none}main:focus{outline:none}.motion-toggle{position:fixed;right:16px;bottom:16px;z-index:30;background:#111b2bf2;color:#fff;border:1px solid #8593a9;border-radius:24px;padding:12px 18px;min-height:44px;font-size:12px;box-shadow:0 5px 22px #0004}.mobile-menu{display:none}.mobile-menu summary{cursor:pointer;list-style:none;border:1px solid #ffffff70;padding:10px 14px;border-radius:5px;color:#fff;min-height:44px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open] summary{background:#fff;color:#111}.mobile-menu nav{position:absolute;right:5%;top:calc(100% - 1px);width:min(300px,90vw);display:flex!important;flex-direction:column;gap:0!important;padding:12px;background:#111c2d;border:1px solid #ffffff55;box-shadow:0 16px 40px #0008;z-index:20}.mobile-menu nav a{display:block!important;margin:0!important;padding:13px 16px;color:#fff!important;min-height:44px;font-size:14px!important;letter-spacing:.04em!important;text-transform:none!important}.top{position:relative}.top .nav{position:relative}.contact-email{display:block;margin:28px auto 0;width:fit-content;text-decoration:underline}.foot a,footer a{text-decoration:underline;text-underline-offset:4px}footer{padding-bottom:85px!important}.demo .hero{min-height:700px;height:min(100svh,1000px);background:#141714}.demo .top{position:absolute;gap:20px;min-height:100px}.demo .hero img{animation:none;filter:none}.demo .hero .hero-still{opacity:1;transition:opacity 1.1s ease;object-fit:cover}.demo .hero video{opacity:0;mix-blend-mode:normal;transition:opacity 1.1s ease}.demo .hero.is-playing video{opacity:1}.demo .hero.is-playing .hero-still{opacity:0}.demo .hero:after{pointer-events:none;background:linear-gradient(90deg,#080b0beb 0%,#080b0b80 60%,#080b0b44),linear-gradient(0deg,#111411 0%,transparent 55%)}.demo .hero-content{padding-top:150px;padding-bottom:130px}.demo h1{font-size:clamp(52px,7.8vw,122px);max-width:1080px;text-wrap:balance}.demo .hero p{color:#f1f1eb;text-shadow:0 1px 15px #0006}.demo .hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.demo .button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:inherit;line-height:1.5}.demo .film-toggle{border-color:var(--accent);color:#fff;background:#1119}.demo .film-toggle[aria-pressed="true"]{background:var(--accent);color:#111}.demo .film-status{font-size:13px;line-height:1.5;min-height:20px;margin:12px 0 0;max-width:600px}.demo .watermark{bottom:46px;left:7%;right:auto;max-width:85%;font-size:10px;letter-spacing:.12em}.demo .intro p{margin-top:22px}.demo .gallery figure{background:#262a25;min-width:0}.demo .gallery img{height:390px;aspect-ratio:3/2}.demo .gallery figure:first-child img{height:clamp(320px,48vw,650px);aspect-ratio:16/9}.demo .gallery figcaption{left:0;bottom:0;right:0;padding:42px 24px 24px;background:linear-gradient(transparent,#000c);text-shadow:none}.demo .reveal{opacity:1;transform:none;transition:opacity .85s cubic-bezier(.2,.6,.2,1),transform .85s cubic-bezier(.2,.6,.2,1)}.demo.motion-ready .reveal:not(.visible){opacity:0;transform:translateY(26px)}.demo .services article{min-width:0}.demo .end{background:var(--accent)}.demo .section{position:relative}.portfolio-card img{aspect-ratio:3/2;display:block}.sources{margin:0;background:#101820;color:#f1f3f0;font:17px/1.75 system-ui,sans-serif}.sources header,.sources main,.sources footer{max-width:1060px;margin:auto;padding:28px}.sources h1{font-size:clamp(40px,6vw,76px);letter-spacing:-.05em;line-height:1.1}.sources h2{margin-top:55px;font-size:27px}.sources a{color:#b4ddff;text-underline-offset:4px}.sources td,.sources th{text-align:left;padding:14px 20px;border-bottom:1px solid #ffffff40}.sources th{color:#dfc09a}.sources table{border-collapse:collapse;min-width:560px;width:100%}.table-scroll{overflow:auto}.sources li{margin-bottom:15px}.sources .eyebrow{color:#dfc09a}.reveal{animation:none!important}
@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root){animation:fade-out .25s ease both}::view-transition-new(root){animation:fade-in .45s ease both}.demo .hero-content{animation:arrive .95s cubic-bezier(.2,.65,.2,1) both}.demo .services article{transition:transform .4s ease}.demo .services article:hover{transform:translateY(-5px)}}
@keyframes arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-out{to{opacity:0}}
@media(max-width:950px){.nav .links{gap:17px}.demo .top nav{gap:16px}.demo .brand{font-size:17px;letter-spacing:.12em}}
@media(max-width:800px){.mobile-menu{display:block}.top>.mobile-menu{margin-left:auto}.top>.mobile-menu nav{top:100%;right:5%}.demo .top>nav{display:none}.nav>.links{display:none}.nav>.mobile-menu{margin-left:auto}.nav>.btn{display:none}.nav .mobile-menu nav{right:0;top:100%}.demo .hero{height:auto;min-height:740px}.demo .top{padding:18px 6%;min-height:82px}.demo .hero-content{padding:155px 6% 140px}.demo h1{font-size:clamp(52px,10vw,86px)}.demo .section{padding:75px 6%}.demo .intro{gap:20px}.demo .intro p{font-size:18px}.demo .watermark{left:6%}.demo .gallery img{height:320px}.demo footer{flex-wrap:wrap}}
@media(max-width:520px){.demo .hero{min-height:720px}.demo .brand{font-size:13px;letter-spacing:.1em}.demo .hero-content{padding-top:140px;padding-bottom:125px}.demo h1{font-size:clamp(44px,12vw,62px);letter-spacing:-.06em}.demo .over{letter-spacing:.16em;line-height:1.7;font-size:10px}.demo .hero p{font-size:16px}.demo .hero-actions{gap:10px}.demo .button{margin-top:10px;padding:14px 16px;font-size:10px;letter-spacing:.1em}.demo .hero .film-status{font-size:12px}.demo .watermark{bottom:35px;font-size:9px}.demo .end{padding:75px 6%}.demo .end h2{font-size:40px}.demo .gallery img,.demo .gallery figure:first-child img{height:320px}.motion-toggle{bottom:12px;right:12px;font-size:11px}.hero .visual{max-width:100%}.float{max-width:95%}.sources header,.sources main,.sources footer{padding:22px}.sources ul{padding-left:20px}.demo footer a{padding:10px 0}.demo h2{font-size:clamp(36px,10vw,52px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.demo.motion-ready .reveal:not(.visible){opacity:1;transform:none}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
html.reduce-motion{scroll-behavior:auto!important}html.reduce-motion *,html.reduce-motion *:before,html.reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html.reduce-motion .demo .reveal{opacity:1!important;transform:none!important}html.reduce-motion::view-transition-old(root),html.reduce-motion::view-transition-new(root){animation:none!important}
