@font-face{font-family:Brachial-Bold;src:url(/assets/Brachial-Bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}:root{--accent:#ffffff;--green:#1f4d3a;--page-bg:#ffffff;color-scheme:light}body,html,#root{min-height:100%}body{font-family:Brachial-Bold,Poppins,Arial,sans-serif;background:#000;color:var(--accent);overflow:auto;color-scheme:light}.app-root{min-height:100%;display:flex;flex-direction:column}main{flex:1}nav{--menu-width:min(32vw,360px);position:fixed;top:0;left:0;width:100%;padding:2em;display:flex;justify-content:space-between;align-items:center;z-index:10;font-family:Poppins,Arial,sans-serif;animation:navDrop .7s ease both}.logo img{width:48px;height:auto;filter:brightness(0) invert(1) contrast(1.2)!important;-webkit-filter:brightness(0) invert(1) contrast(1.2)!important;mix-blend-mode:normal;opacity:1;transition:transform .3s ease,filter .3s ease}.logo img:hover{transform:rotate(-4deg) scale(1.08);filter:brightness(0) invert(1) contrast(1.2) drop-shadow(0 0 12px rgba(255,255,255,.45))!important;-webkit-filter:brightness(0) invert(1) contrast(1.2) drop-shadow(0 0 12px rgba(255,255,255,.45))!important}.nav-items{display:flex;align-items:center;gap:2em}.nav-items a{position:relative;color:#fff;text-decoration:none;line-height:1;transition:color .25s ease,transform .25s ease,text-shadow .25s ease}.nav-items a:not(.nav-cta):after{content:"";position:absolute;left:0;right:0;bottom:-.45em;height:2px;background:#fff;transform:scaleX(0);transform-origin:center;transition:transform .25s ease,opacity .25s ease;opacity:.75}.nav-items a:hover,.nav-items a.active{color:#fff;transform:translateY(-2px);text-shadow:0 0 14px rgba(255,255,255,.55)}.nav-items a:not(.nav-cta):hover:after,.nav-items a.active:not(.nav-cta):after{transform:scaleX(1)}.nav-items button{background:transparent;border:2px solid #fff;color:#fff;padding:.5em 1em;border-radius:2em;cursor:pointer;transition:background .25s ease,color .25s ease,box-shadow .25s ease,transform .25s ease}.nav-items button:hover{background:#fff;color:#000;box-shadow:0 0 18px #ffffff73;transform:translateY(-2px)}.menu-toggle{display:grid;width:2.75rem;height:2.75rem;border:1px solid rgba(255,255,255,.78);border-radius:999px;background:#fff;color:var(--green);cursor:pointer;place-items:center;position:relative;z-index:24;font:700 1.45rem/1 Poppins,Arial,sans-serif;box-shadow:0 0 0 1px #1f4d3a1f,0 8px 26px #0000001f;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:background .25s ease,border-color .25s ease,color .25s ease,transform .35s ease,box-shadow .25s ease}.menu-toggle:hover{background:var(--green);color:#fff;border-color:#fff;box-shadow:0 0 18px #ffffff47}.site-nav.nav-open .menu-toggle{transform:rotate(90deg);background:#fff;color:var(--green);border-color:#fff}.nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:19;border:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;opacity:0;pointer-events:none;transition:none}.site-nav.nav-open .nav-backdrop{display:block;opacity:1;pointer-events:auto}.site-nav>.nav-items{position:fixed;top:0;right:0;bottom:0;z-index:20;width:var(--menu-width);min-width:260px;max-width:86vw;height:100vh;height:100dvh;padding:6.4rem 1rem 1.25rem;background:#fff!important;background-color:#fff!important;color:var(--green);border-left:1px solid rgba(31,77,58,.18);box-shadow:-22px 0 64px #0000003d;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2rem;font-size:1rem;opacity:1;pointer-events:none;transform:translate3d(100%,0,0);transform-origin:center right;transition:transform .48s cubic-bezier(.2,.85,.18,1);color-scheme:light;forced-color-adjust:none}.site-nav.nav-open>.nav-items{pointer-events:auto;transform:translateZ(0)}.nav-menu-main{display:grid;gap:.15rem}.site-nav>.nav-items a{color:var(--green);padding:.8rem .75rem;border-radius:6px;font-size:1rem;text-shadow:none}.site-nav>.nav-items a:not(.nav-cta):after{display:none}.site-nav>.nav-items a:hover,.site-nav>.nav-items a.active{background:var(--green);color:#fff;transform:none;text-shadow:none}.site-nav>.nav-items button{width:100%;border:1px solid var(--green);background:#fff;color:var(--green);padding:.75rem .8rem;border-radius:6px;font-size:1rem}.site-nav>.nav-items button:hover{background:var(--green);color:#fff;box-shadow:none;transform:none}.nav-menu-bottom{margin-top:auto;border-top:1px solid rgba(31,77,58,.16);padding-top:1rem;display:grid;place-items:center;gap:.65rem;color:#1f4d3aad;font-size:.82rem;line-height:1.35;text-align:center}.nav-menu-bottom p{color:var(--green);font-weight:700;letter-spacing:.22em;font-size:.76rem}.nav-menu-bottom span{color:#1f4d3a85;font-size:.74rem}.site-nav>.nav-items .nav-menu-bottom a{padding:0;border-radius:0;color:#1f4d3aad;font-size:.82rem;text-decoration:none}.site-nav>.nav-items .nav-menu-bottom a:hover{background:transparent;color:var(--green);text-decoration:underline;text-underline-offset:.24rem}.site-nav>.nav-items .nav-menu-bottom .nav-social-link{width:2.25rem;height:2.25rem;border:1px solid rgba(31,77,58,.22);border-radius:999px;display:grid;place-items:center;color:var(--green)}.site-nav>.nav-items .nav-menu-bottom .nav-social-link:hover{background:var(--green);color:#fff;text-decoration:none}.nav-social-link svg{width:1.15rem;height:1.15rem;fill:currentColor}@keyframes navDrop{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}.canvas-root{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:1;overflow:hidden}.canvas-root canvas{display:block;width:100%;height:100%;touch-action:none}.home-page{min-height:100vh;min-height:100svh;height:100dvh;position:relative;overflow:hidden;background:#000}.home-hero{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.content-page{min-height:100vh;background:var(--page-bg);color:var(--green);font-family:Poppins,Arial,sans-serif}.page-hero{min-height:46vh;padding:8.5rem clamp(1.25rem,5vw,5rem) 4rem;background:var(--green);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;gap:1rem}.page-hero h1{font-size:clamp(3rem,9vw,8rem);line-height:.9;font-weight:700;letter-spacing:0}.page-hero p{max-width:700px;font-size:clamp(1rem,2vw,1.35rem);line-height:1.6}.eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.16em;color:#ffffffb8}.page-shell{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:clamp(2.5rem,6vw,5rem) 0}.about-grid,.contact-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:1.5rem;align-items:stretch}.feature-panel{background:var(--green);color:#fff;border-radius:8px;padding:clamp(1.5rem,4vw,3rem);display:flex;flex-direction:column;justify-content:space-between;gap:2rem;min-height:330px;transition:transform .25s ease,box-shadow .25s ease}.feature-panel:hover{transform:translateY(-4px);box-shadow:0 22px 50px #1f4d3a33}.feature-panel span,.project-index,.contact-details span,.stack-item span{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;opacity:.78}.feature-panel h2{font-size:clamp(2rem,5vw,4.2rem);line-height:1}.feature-panel p{max-width:620px;font-size:1rem;line-height:1.7;color:#ffffffd1}.stack-list{display:grid;gap:1rem}.stack-item,.contact-details div{border:1px solid rgba(31,77,58,.22);border-radius:8px;padding:1.35rem;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:background .25s ease,color .25s ease,transform .25s ease}.stack-item:hover,.contact-details div:hover{background:var(--green);color:#fff;transform:translateY(-3px)}.stack-item p{font-size:clamp(1.2rem,3vw,2rem)}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.project-card{min-height:360px;border:1px solid rgba(31,77,58,.22);border-radius:8px;padding:1.4rem;background:#fff;color:var(--green);display:flex;flex-direction:column;justify-content:space-between;text-align:left;font:inherit;cursor:pointer;transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}.project-card:hover{background:var(--green);color:#fff;transform:translateY(-5px);box-shadow:0 20px 44px #1f4d3a2e}.project-card:focus-visible{outline:3px solid rgba(31,77,58,.35);outline-offset:4px}.project-card-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.project-open-icon{position:relative;width:2.25rem;height:2.25rem;border:1px solid currentColor;border-radius:999px;flex:0 0 auto;opacity:.85;transition:background .25s ease,color .25s ease,transform .25s ease}.project-open-icon:before{content:"";position:absolute;left:50%;top:50%;width:.55rem;height:.55rem;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translate(-62%,-38%) rotate(45deg)}.project-open-icon:after{content:"";position:absolute;left:50%;top:50%;width:.8rem;height:2px;background:currentColor;transform:translate(-62%,-50%)}.project-card:hover .project-open-icon{background:#fff;color:var(--green);transform:translate(2px,-2px)}.project-card p{font-size:.82rem;text-transform:uppercase;letter-spacing:.13em;opacity:.75}.project-card h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1}.project-card span{font-size:1rem;line-height:1.65;opacity:.78}.project-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:rgba(6,18,13,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;padding:1.25rem;animation:overlayIn .2s ease both}.project-modal{position:relative;width:min(1080px,100%);max-height:min(86vh,820px);overflow:auto;border-radius:8px;background:#fff;color:var(--green);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:1rem;padding:1rem;box-shadow:0 30px 90px #00000040;animation:modalIn .28s ease both}.modal-close{position:absolute;top:1rem;right:1rem;width:2.35rem;height:2.35rem;border:1px solid rgba(31,77,58,.22);border-radius:999px;background:#fff;color:var(--green);font:inherit;line-height:1;cursor:pointer;z-index:2;transition:background .25s ease,color .25s ease,transform .25s ease}.modal-close:hover{background:var(--green);color:#fff;transform:rotate(90deg)}.modal-copy{padding:clamp(1.25rem,4vw,3rem);display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem}.modal-copy .eyebrow{color:#1f4d3aad}.modal-copy h2{font-size:clamp(2.6rem,6vw,5.5rem);line-height:.95}.modal-copy p:not(.eyebrow){font-size:clamp(1rem,2vw,1.25rem);line-height:1.7;color:#1f4d3ac7}.project-tags{display:flex;flex-wrap:wrap;gap:.6rem}.project-tags span{border:1px solid rgba(31,77,58,.25);border-radius:999px;padding:.55rem .8rem;font-size:.85rem}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.gallery-frame{min-height:260px;border-radius:8px;overflow:hidden;background:var(--green);border:1px solid rgba(31,77,58,.18)}.gallery-frame:first-child{grid-column:1 / -1;min-height:360px}.gallery-button{width:100%;height:100%;border:0;background:transparent;padding:0;display:block;cursor:zoom-in}.gallery-button:focus-visible{outline:3px solid rgba(255,255,255,.75);outline-offset:-6px}.gallery-frame img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease,filter .45s ease}.gallery-frame:hover img{transform:scale(1.04);filter:saturate(1.12)}.image-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:rgba(4,13,9,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vw,3rem);animation:overlayIn .18s ease both;cursor:zoom-out}.image-overlay img{max-width:min(1180px,100%);max-height:88vh;border-radius:8px;object-fit:contain;box-shadow:0 28px 90px #0006;cursor:default;animation:modalIn .24s ease both}.image-close{z-index:51}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.contact-details{display:grid;gap:1rem}.contact-page .feature-panel h2{font-size:clamp(1.15rem,2.4vw,2.2rem);overflow-wrap:anywhere}.contact-details div{display:block}.contact-details p{margin-top:1rem;font-size:clamp(1.15rem,2vw,1.7rem);line-height:1.25}.page-button{width:max-content;color:#fff;text-decoration:none;border:2px solid #fff;border-radius:999px;padding:.75rem 1.1rem;transition:background .25s ease,color .25s ease,transform .25s ease}.page-button:hover{background:#fff;color:var(--green);transform:translateY(-2px)}.site-footer{position:relative;z-index:5;background:linear-gradient(180deg,#133528 0%,#07110d 100%);color:#fff;font-family:Poppins,Arial,sans-serif;padding:clamp(3rem,7vw,5rem) 1rem 2rem;border-top:1px solid rgba(255,255,255,.08)}.footer-inner{width:min(760px,100%);margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2rem}.footer-brand{color:#ffffffb8;text-decoration:none;font-size:.9rem;letter-spacing:.42em;font-weight:700;transition:color .25s ease,text-shadow .25s ease}.footer-brand:hover{color:#fff;text-shadow:0 0 16px rgba(255,255,255,.35)}.footer-nav{position:static;width:auto;padding:0;display:flex;justify-content:center;align-items:center;gap:clamp(1.25rem,5vw,3rem);font-family:Poppins,Arial,sans-serif;animation:none}.footer-nav a{color:#ffffff9e;text-decoration:none;font-size:.95rem;transition:color .25s ease,transform .25s ease}.footer-nav a:hover{color:#fff;transform:translateY(-2px)}.footer-socials{display:flex;justify-content:center;gap:.9rem;flex-wrap:wrap}.footer-socials a{width:2.35rem;height:2.35rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#ffffffb3;display:grid;place-items:center;text-decoration:none;font-size:.68rem;font-weight:700;letter-spacing:.02em;background:rgba(255,255,255,.03);transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease}.footer-socials a:hover{background:#fff;color:var(--green);border-color:#fff;transform:translateY(-3px);box-shadow:0 0 22px #fff3}.footer-socials svg{width:1.05rem;height:1.05rem;fill:currentColor}.footer-meta{display:grid;gap:.55rem;color:#ffffff6b;font-size:.82rem;line-height:1.4}.footer-meta a{color:#ffffff80;font-weight:600;text-decoration:none;transition:color .25s ease}.footer-meta a:hover{color:#fff}.legal-shell{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.legal-card{border:1px solid rgba(31,77,58,.22);border-radius:8px;background:#fff;color:var(--green);padding:clamp(1.25rem,3vw,2rem);min-height:220px;display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem;transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}.legal-card:hover{background:var(--green);color:#fff;transform:translateY(-4px);box-shadow:0 18px 42px #1f4d3a2e}.legal-card h2{font-size:clamp(1.45rem,3vw,2.4rem);line-height:1}.legal-card p{font-size:1rem;line-height:1.7;opacity:.78}@media (max-width:768px){main{height:auto;min-height:100%}nav{--menu-width:min(72vw,320px);padding:1rem;align-items:center;gap:1rem}.logo img{width:40px}.site-nav>.nav-items{width:var(--menu-width);min-width:220px;padding:5.2rem .85rem 1rem}.site-nav>.nav-items a{padding:.78rem .7rem}.site-nav>.nav-items button{padding:.72rem .75rem}.page-hero{min-height:42vh;padding:7.5rem 1rem 2.5rem}.page-shell{width:calc(100% - 1.5rem);padding:2rem 0 4rem}.about-grid,.contact-grid,.projects-grid{grid-template-columns:1fr}.feature-panel,.project-card{min-height:260px}.project-overlay{align-items:flex-start;padding:5.5rem .75rem 1rem}.project-modal{max-height:calc(100vh - 6.5rem);grid-template-columns:1fr;padding:.75rem}.modal-copy{padding:1rem 3rem 1rem 1rem}.project-gallery{grid-template-columns:1fr}.gallery-frame,.gallery-frame:first-child{min-height:220px;grid-column:auto}.stack-item{align-items:flex-start;flex-direction:column}.footer-nav{gap:1rem;flex-wrap:wrap}.footer-inner{gap:1.6rem}.footer-meta{font-size:.76rem}.site-footer{display:none}.legal-shell{grid-template-columns:1fr}}@media (max-width:520px){nav{--menu-width:64vw;padding:.85rem;align-items:center}.logo img{width:36px}.menu-toggle{width:2.45rem;height:2.45rem}.site-nav>.nav-items{width:var(--menu-width);min-width:0;padding:4.9rem .7rem 1rem}.site-nav>.nav-items a{font-size:.95rem;padding:.7rem .65rem}.site-nav>.nav-items button{border-width:1px;font-size:.95rem}.home-page{min-height:100svh}}@media (min-width:769px) and (max-width:980px){.projects-grid{grid-template-columns:1fr 1fr}.about-grid,.contact-grid,.project-modal{grid-template-columns:1fr}}
