body{background-image:none}body:before{content:none;display:none}
/* A display:contents rule on all teaser divs removed the cascade's containing block. */
.project-teaser>.screen-cascade,.project-intro>.screen-cascade{display:block;position:relative;flex-shrink:0;min-width:0;isolation:isolate;contain:layout paint;overflow:hidden;border-radius:10px}
.screen-cascade>.cascade-layer{display:block;position:absolute}
.network-intro .network-art{object-fit:contain;filter:none;opacity:1;right:-7%;width:74%}
.about-intro .network-art{object-fit:contain;filter:none;opacity:.65;right:-4%}
.contact-layout:before{background-image:radial-gradient(ellipse at 10% 80%,#9ba30808,transparent 60%),url('network-contact.svg');background-size:auto,95% auto;background-position:center,left bottom;opacity:.8}
.project-dialog{box-sizing:border-box;inset:0;margin:auto;max-width:calc(100% - 32px)}
.project-modal-top>img{border-radius:12px;margin:0;overflow:hidden}
.burger,.burger:focus,.burger:focus-visible,.burger:hover{outline:0!important;border:0!important;box-shadow:none!important;background:transparent}
.burger:focus-visible span{box-shadow:0 0 4px #f5f5f580}
.burger span{transform-origin:center;transition:transform .3s,width .3s,opacity .25s;translate:none!important}
.burger:not([aria-expanded=true]) span,.burger:not([aria-expanded=true]):hover span{transform:none!important}
.menu-dialog{height:auto;max-height:calc(100dvh - 10px);inset:0 0 auto;margin:0;overflow-y:auto;scrollbar-width:thin}
.menu-dialog:before{position:absolute;inset:10px 10px 0;transform:none;transition:opacity .3s}
.menu-body{min-height:0;padding-bottom:max(28px,env(safe-area-inset-bottom))}
.menu-nav a{font-size:22px;min-height:58px;padding:14px 0;line-height:1.35}
.menu-contact{margin-top:0;padding-top:8px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.menu-contact .button{width:auto;max-width:100%;margin-top:8px;align-self:flex-start}
.menu-dialog .languages{padding:14px 0}.menu-nav{margin-bottom:12px}
@media(max-width:620px){
 .project-teaser>.screen-cascade{display:block!important;height:270px;width:100%;order:2;margin:10px 0;perspective:1100px}
 .project-intro>.screen-cascade{display:block;height:300px;width:100%}
 .project-dialog{inset:0;margin:auto;width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:38px 20px 22px}
 .project-modal-top>img{width:100%;margin:0;border-radius:10px}
 .network-intro .network-art{width:145%;right:-38%;height:70%;opacity:.85}
 .about-intro .network-art{width:130%;right:-35%;opacity:.4}
 .menu-nav a{font-size:21px;min-height:57px;padding:14px 0}
}
@media(max-height:720px){.menu-nav a{min-height:48px;font-size:20px;padding:10px 0}.menu-body{padding-bottom:max(20px,env(safe-area-inset-bottom))}.menu-contact{gap:10px;padding-top:4px}.menu-contact .button{margin-top:4px}.menu-dialog .languages{padding:10px 0}}


/* SEO i accessibilitat: titol estructural sense alterar la composicio visual. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* Capçalera flotant: canvi d’estat sense glitch i retorn progressiu en escriptori. */
.site-header-spacer{display:none;height:var(--site-header-height,110px)}
.site-header-spacer.is-active{display:block}
.site-header.is-switching{transition:none!important}
.site-header.is-floating{position:fixed;z-index:160;top:14px;left:50%;width:min(calc(100% - 80px),1420px);min-height:72px;padding:0 22px;transform:translate(-50%,0);opacity:1;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(8,11,13,.84);box-shadow:0 16px 48px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.025);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%);transition:transform .42s cubic-bezier(.22,.75,.24,1),opacity .3s ease,top .38s cubic-bezier(.22,.75,.24,1),min-height .38s cubic-bezier(.22,.75,.24,1),padding .38s ease,border-color .32s ease,border-radius .38s ease,background-color .32s ease,box-shadow .32s ease,backdrop-filter .32s ease}
.site-header.is-floating.is-hidden{transform:translate(-50%,calc(-100% - 30px));opacity:0;pointer-events:none}
.site-header.is-floating>.logo img{width:150px;transition:width .38s cubic-bezier(.22,.75,.24,1)}
.site-header.is-floating .desktop-nav a:after{bottom:-10px}
@media(min-width:901px){.site-header.is-floating.is-returning{top:0;min-height:var(--site-header-height,110px);padding:0;border-color:transparent;border-radius:0;background:rgba(8,11,13,0);box-shadow:none;backdrop-filter:blur(0) saturate(100%);-webkit-backdrop-filter:blur(0) saturate(100%)}.site-header.is-floating.is-returning>.logo img{width:184px}}
@media(min-width:901px) and (max-width:1150px){.site-header.is-floating.is-returning>.logo img{width:158px}}
@media(max-width:1150px){.site-header.is-floating{width:calc(100% - 48px)}}
@media(max-width:900px){.site-header.is-floating{top:8px;width:calc(100% - 24px);min-height:66px;padding:0 16px;border-radius:20px}.site-header.is-floating>.logo img{width:148px}}
@media(max-width:620px){.site-header.is-floating{width:calc(100% - 16px);min-height:64px;padding:0 14px}.site-header.is-floating>.logo img{width:142px}}
@media(prefers-reduced-motion:reduce){.site-header.is-floating{transition:none}.site-header.is-floating>.logo img{transition:none}}
