.hero-section{width:100%;position:relative;overflow:hidden}.hero-image{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.hero-image.contain{object-fit:contain}.hero-gradient-overlay{background-image:linear-gradient(#11182766,#0000 40%,#111827e6);position:absolute;inset:0}.hero-button{background-color:var(--interactive-blue);color:#fff;border-radius:.375rem;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:background-color .2s;display:inline-block}.hero-button:hover{background-color:var(--interactive-hover)}.hero-split-right-image,.hero-split-left-image{flex-direction:column;min-height:24rem;display:flex}.hero-split-right-image .hero-image-container,.hero-split-left-image .hero-image-container{background-color:var(--surface-background);width:100%;height:12rem;position:relative;overflow:hidden}.hero-split-right-image .hero-content-container,.hero-split-left-image .hero-content-container{background-image:linear-gradient(135deg,var(--surface-background)0%,var(--primary-background)100%);flex-grow:1;justify-content:center;align-items:center;width:100%;padding:2rem 1.5rem;display:flex}.hero-split-right-image .hero-content,.hero-split-left-image .hero-content{text-align:left;max-width:28rem}.hero-split-right-image .hero-title,.hero-split-left-image .hero-title{color:var(--primary-text);text-shadow:0 1px 3px #0000001a;margin-bottom:1rem;font-size:2.25rem;font-weight:800;line-height:1.1}.hero-split-right-image .hero-subtitle,.hero-split-left-image .hero-subtitle{color:var(--secondary-text);margin-bottom:1.5rem;font-size:1.125rem}@media (min-width:768px){.hero-split-right-image,.hero-split-left-image{flex-direction:row;height:500px}.hero-split-right-image .hero-image-container,.hero-split-left-image .hero-image-container{width:55%;height:100%}.hero-split-right-image .hero-content-container,.hero-split-left-image .hero-content-container{width:45%;padding:3rem}.hero-split-right-image .hero-title,.hero-split-left-image .hero-title{font-size:3rem}.hero-split-right-image .hero-subtitle,.hero-split-left-image .hero-subtitle{font-size:1.25rem}.hero-split-right-image .hero-image-container{order:2}.hero-split-right-image .hero-content-container,.hero-split-left-image .hero-image-container{order:1}.hero-split-left-image .hero-content-container{order:2}}.hero-section.hero-project .hero-content-container{background:var(--footer-background);color:var(--footer-copyright)}.hero-section.hero-project .hero-image-container{background-color:var(--footer-background)}.hero-section.hero-project .hero-title{color:var(--footer-text);text-shadow:0 1px 3px #0009,0 4px 12px #00000080}.hero-section.hero-project .hero-subtitle{color:var(--footer-text);text-shadow:0 1px 2px #000000b3,0 2px 6px #00000080}.hero-full-centered-gradient{justify-content:center;align-items:center;height:24rem;display:flex}.hero-full-centered-gradient .hero-image-container{width:100%;height:100%;position:absolute;inset:0}.hero-full-centered-gradient .hero-content-container{z-index:10;text-align:center;color:#fff;width:100%;max-width:56rem;padding:1.5rem;position:relative}.hero-full-centered-gradient .hero-title{color:#fff;text-shadow:0 1px 3px #0009,0 4px 12px #00000080;font-size:2.25rem;font-weight:700}.hero-full-centered-gradient .hero-subtitle{color:#fff;text-shadow:0 1px 2px #000000b3,0 2px 6px #00000080;max-width:42rem;margin:1rem auto 0;font-size:1.125rem}.hero-full-left-gradient{justify-content:center;align-items:center;height:24rem;display:flex}.hero-full-left-gradient .hero-image-container{width:100%;height:100%;position:absolute;inset:0}.hero-full-left-gradient .hero-content-container{z-index:10;text-align:left;color:#fff;width:100%;max-width:var(--container-max-width);justify-content:flex-start;margin:0 auto;padding:1.5rem 1rem;display:flex;position:relative}@media (min-width:640px){.hero-full-left-gradient .hero-content-container{padding:1.5rem}}@media (min-width:1024px){.hero-full-left-gradient .hero-content-container{padding:1.5rem 2rem}}.hero-full-left-gradient .hero-content{max-width:48rem}.hero-full-left-gradient .hero-title{color:#fff;text-shadow:0 1px 3px #0009,0 4px 12px #00000080;font-size:2.25rem;font-weight:700}.hero-full-left-gradient .hero-subtitle{color:#fff;text-shadow:0 1px 2px #000000b3,0 2px 6px #00000080;margin:1rem 0 0;font-size:1.125rem}@media (min-width:768px){.hero-full-centered-gradient,.hero-full-left-gradient{height:500px}.hero-full-centered-gradient .hero-title,.hero-full-left-gradient .hero-title{font-size:3.75rem}.hero-full-centered-gradient .hero-subtitle,.hero-full-left-gradient .hero-subtitle{font-size:1.25rem}}.hero-title{opacity:0;letter-spacing:-.01em;font-weight:800;transition:opacity .8s cubic-bezier(.23,1,.32,1),transform .8s cubic-bezier(.23,1,.32,1);transform:translateY(20px)}.hero-subtitle{opacity:0;letter-spacing:.01em;line-height:1.6;transition:opacity .8s cubic-bezier(.23,1,.32,1) .2s,transform .8s cubic-bezier(.23,1,.32,1) .2s;transform:translateY(15px)}.hero-button{opacity:0;border:1px solid #ffffff1a;transition:opacity .8s cubic-bezier(.23,1,.32,1) .4s,transform .8s cubic-bezier(.23,1,.32,1) .4s;transform:translateY(10px);box-shadow:0 4px 6px #0000001a}.hero-section.active .hero-title,.hero-section.active .hero-subtitle,.hero-section.active .hero-button{opacity:1;transform:translateY(0)}@keyframes hero-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(1deg)}}.hero-image-container:before{content:"";pointer-events:none;z-index:1;background:radial-gradient(circle,#6366f11a 0%,#0000 70%);width:30%;height:30%;animation:10s ease-in-out infinite hero-float;position:absolute;top:20%;left:10%}.hero-image-container:after{content:"";pointer-events:none;z-index:1;background:radial-gradient(circle,#8b5cf60d 0%,#0000 60%);width:40%;height:40%;animation:15s ease-in-out infinite reverse hero-float;position:absolute;bottom:20%;right:10%}
