@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap");@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap");*{margin:0;padding:0;box-sizing:border-box}:root{--base-100:#f8f9fa;--base-200:#e9ecef;--base-300:#dee2e6;--base-400:#212529;--dark-bg:#1a1a1a;--dark-text:#f8f9fa;--primary:#2c5f8d;--primary-dark:#1e4263;--accent:#6b9bd1;--text-primary:#212529;--text-secondary:#495057;--bg-light:#f8f9fa;--bg-medium:#e9ecef;--bg-dark:#1a1a1a}body{font-family:"Instrument Serif",serif;background-color:var(--bg-light);color:var(--text-primary)}img{width:100%;height:100%;object-fit:cover;will-change:transform}h1{font-size:4rem;line-height:1.1}section{position:relative;width:100vw;height:100svh;background-color:var(--bg-medium);color:var(--text-primary);overflow:hidden}.logo{position:fixed;top:2rem;left:2rem;z-index:1000;font-family:Inter,PP Pangram Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:800;font-size:1.5rem;padding:.75rem 1.25rem;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:all .3s ease;will-change:background-color,color;cursor:default}.logo span{display:inline-block}.logo{background-color:var(--base-100);color:var(--base-400)}.logo.logo-inverted{background-color:var(--base-400);color:var(--base-100)}@media (max-width:768px){.logo{top:1rem;left:1rem;font-size:1.125rem;padding:.5rem .875rem}}.hero,.outro{display:flex;justify-content:center;align-items:center;background-color:var(--bg-light)}.hero h1,.outro h1{width:50%;text-align:center}.banner{background-color:var(--bg-dark)}.banner-img-container{position:relative;width:100%;height:100%;will-change:transform}.banner-img-container .img{position:absolute;top:0;left:0;width:100%;height:100%;will-change:transform}.banner-img-container .img.mask{-webkit-mask-image:url(/banner-img-mask.png);mask-image:url(/banner-img-mask.png);-webkit-mask-size:cover;mask-size:cover;-webkit-mask-position:center;mask-position:center}.banner-header{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:75%;text-align:center;color:var(--bg-light);z-index:2}.banner-intro-text-container{position:absolute;top:50%;transform:translateY(-50%);width:100%;display:flex;gap:.5rem;z-index:10}.banner-intro-text{flex:1 1;position:relative;will-change:transform;color:var(--bg-light)}.banner-intro-text:first-child{display:flex;justify-content:flex-end}@media (max-width:1000px){.banner-header,.hero h1,.outro h1{width:calc(100% - 4rem)}}