.footer__cta{text-align:center;position:relative;overflow:hidden}.footer__cta-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:500px;height:500px;background:radial-gradient(circle,rgba(255,69,0,.08) 0,transparent 65%);pointer-events:none;z-index:0}.footer__cta-content{position:relative;z-index:1}.footer__cta h2{font-size:clamp(2.5rem,5vw,4rem);font-weight:900;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:1rem}.footer__cta-sub{color:var(--text-secondary);font-size:1rem;margin-bottom:2.5rem}.footer__bar{border-top:1px solid var(--border-default);padding:1.5rem 0}.footer__bar-inner{display:flex;justify-content:space-between;align-items:center}.footer__bar-left{display:flex;align-items:center;gap:1.5rem}.footer__bar-logo{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}.footer__copyright{font-size:.75rem;color:var(--text-muted)}.footer__socials{display:flex;align-items:center;gap:1.25rem}.footer__socials a{color:var(--text-muted);transition:color var(--duration) var(--ease);display:flex;align-items:center}.footer__socials a:hover{color:var(--text-primary)}@media (max-width:768px){.footer__bar-inner{flex-direction:column;gap:1rem;text-align:center}.footer__bar-left{flex-direction:column;gap:.75rem}}.footer__cta.contact-section{text-align:left}.contact-section__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-gap:3.5rem;gap:3.5rem;align-items:start}.contact-section .contact-section__intro h2{font-size:clamp(2.4rem,4.6vw,3.75rem);font-weight:900;line-height:1.02;letter-spacing:-.02em;text-transform:uppercase;margin-bottom:1.1rem}.contact-section .contact-section__intro h2 .accent{color:var(--accent);font-style:italic}.contact-section__lead{color:var(--text-secondary);font-size:1rem;line-height:1.7;max-width:460px;margin-bottom:2.25rem}.contact-section__channels{display:flex;flex-direction:column;gap:1.25rem;padding-top:1.5rem;border-top:1px solid var(--border-default);max-width:420px}.contact-channel{display:flex;flex-direction:column;gap:.3rem}.contact-channel__label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.contact-channel__value{font-family:var(--font-mono);font-size:.95rem;font-weight:600;color:var(--text-primary);display:inline-flex;align-items:center;gap:.4rem;width:-moz-fit-content;width:fit-content;border-radius:2px;transition:color var(--duration) var(--ease)}.contact-channel__value:hover{color:var(--accent)}.contact-card .btn:focus-visible,.contact-channel__value:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.contact-channel__meta{display:inline-flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--text-secondary)}.contact-channel__dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px rgba(34,197,94,.55);flex-shrink:0}.contact-card{min-width:0;background:var(--bg-card);border:1px solid var(--border-hover);border-radius:8px;padding:2rem}.contact-form{display:flex;flex-direction:column;gap:1.15rem}.contact-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.contact-field{min-width:0;display:flex;flex-direction:column;gap:.45rem}.contact-field label{font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.contact-field label span{color:var(--accent)}.contact-field input,.contact-field select,.contact-field textarea{width:100%;background-color:var(--bg-primary);border:1px solid var(--border-hover);border-radius:4px;color:var(--text-primary);font-family:var(--font-sans);font-size:.9rem;padding:.75rem .9rem;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background-color .2s var(--ease)}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--text-muted)}.contact-field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;color-scheme:dark;cursor:pointer;overflow:hidden;text-overflow:ellipsis;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23999999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;background-size:14px 14px}.contact-field select option{background-color:var(--bg-elevated);color:var(--text-primary)}.contact-field textarea{resize:vertical;min-height:112px;line-height:1.6}.contact-field input:hover:not(:disabled),.contact-field select:hover:not(:disabled),.contact-field textarea:hover:not(:disabled){background-color:var(--bg-elevated)}.contact-field input:disabled,.contact-field select:disabled,.contact-field textarea:disabled{opacity:.6;cursor:not-allowed}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{outline:none;background-color:var(--bg-primary);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.contact-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.contact-form__error{padding:.75rem .9rem;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.45);border-radius:4px;color:#fca5a5;font-size:.85rem}.contact-form__submit{width:100%;justify-content:center;cursor:pointer}.contact-form__submit:disabled,.contact-form__submit:disabled:hover{opacity:.6;cursor:not-allowed;background:transparent;color:var(--text-primary);border-color:var(--border-hover)}.contact-card__success{padding:1rem .25rem;display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.contact-card__badge{font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);padding:.35rem .7rem;border:1px solid var(--accent-border);background:var(--accent-dim);border-radius:4px}.contact-card__success h3{font-size:1.5rem;font-weight:800;color:var(--text-primary)}.contact-card__success p{color:var(--text-secondary);font-size:.95rem;line-height:1.65}.contact-card__success p strong{color:var(--text-primary)}@media (max-width:900px){.contact-section__grid{grid-template-columns:minmax(0,1fr);gap:2.25rem}}@media (max-width:600px){.contact-card{padding:1.35rem}.contact-form__row{grid-template-columns:minmax(0,1fr)}.contact-card .btn{max-width:100%;white-space:normal;text-align:center;padding-inline:1rem}}.header{position:fixed;top:0;left:0;right:0;z-index:100;height:60px;transition:all var(--duration) var(--ease);border-bottom:1px solid transparent}.header--scrolled{background:var(--bg-primary);border-bottom-color:var(--border-default)}.header__inner{justify-content:space-between;height:100%}.header__inner,.header__logo{display:flex;align-items:center}.header__logo{gap:.6rem;font-weight:800;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase}.header__nav{display:flex;align-items:center;gap:2.25rem}.header__nav a{font-family:var(--font-mono);font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--text-secondary);transition:color var(--duration) var(--ease)}.header__nav a:hover{color:var(--text-primary)}.header__right{gap:1.5rem}.header__right,.header__status{display:flex;align-items:center}.header__status{gap:.5rem}.header__status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 2s ease-in-out infinite}.header__status-label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.header__cta{font-size:.7rem;padding:.6rem 1.1rem}.header__hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:28px;height:28px;background:none;border:none;cursor:pointer;z-index:110}.header__hamburger span{display:block;width:100%;height:1.5px;background:var(--text-primary);transition:all var(--duration) var(--ease);transform-origin:center}.header__hamburger--open span:first-child{transform:rotate(45deg) translate(4.5px,4.5px)}.header__hamburger--open span:nth-child(2){opacity:0}.header__hamburger--open span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}.header__mobile-overlay{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:99;display:flex;align-items:center;justify-content:center}.header__mobile-nav{display:flex;flex-direction:column;align-items:center;gap:2rem}.header__mobile-nav a{font-family:var(--font-mono);font-size:1rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-secondary);transition:color var(--duration) var(--ease)}.header__mobile-nav a:hover{color:var(--text-primary)}@media (max-width:768px){.header__nav,.header__right{display:none}.header__hamburger{display:flex}}.portfolio__header{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:3rem}.portfolio__integrity{max-width:300px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:1.25rem;flex-shrink:0}.portfolio__integrity h4,.portfolio__integrity-label{font-family:var(--font-mono);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.6rem}.portfolio__integrity p{font-size:.8rem;color:var(--text-secondary);line-height:1.6;font-style:italic}.portfolio__grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.25rem;gap:1.25rem}.portfolio__card{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--border-default);background:#080808;aspect-ratio:1/1;cursor:pointer;transition:border-color var(--duration) var(--ease)}.portfolio__card:hover{border-color:var(--border-hover)}.portfolio__card img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.portfolio__card:hover img{transform:scale(1.03)}.portfolio__card-overlay{position:absolute;bottom:0;left:0;right:0;padding:3.25rem 1.75rem 1.75rem;background:linear-gradient(0deg,rgba(5,5,5,.97) 0,rgba(5,5,5,.88) 44%,rgba(5,5,5,.56) 76%,rgba(5,5,5,0))}.portfolio__tag{font-family:var(--font-mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.78);text-shadow:0 1px 6px rgba(0,0,0,.75);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.portfolio__tag-sep{color:var(--accent)}.portfolio__card-title{font-size:1.45rem;font-weight:800;line-height:1.15;color:var(--text-primary);text-transform:uppercase;letter-spacing:-.01em;text-shadow:0 2px 14px rgba(0,0,0,.8)}@media (max-width:768px){.portfolio__header{flex-direction:column}.portfolio__integrity{max-width:100%}.portfolio__grid{grid-template-columns:1fr}}.portfolio__card-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;gap:1rem}.portfolio__btn-more{font-size:.75rem}.portfolio__btn-more,.portfolio__btn-preview{font-family:var(--font-mono);color:var(--accent);text-transform:uppercase;letter-spacing:.05em}.portfolio__btn-preview{font-size:.7rem;padding:.4rem .8rem;background:transparent;border:1px solid var(--accent);border-radius:4px;transition:all var(--duration) var(--ease)}.portfolio__btn-preview:hover{background:var(--accent);color:var(--bg-primary);box-shadow:0 0 10px rgba(255,69,0,.4)}.portfolio__drawer-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;opacity:0;pointer-events:none;transition:opacity .3s ease}.portfolio__drawer-backdrop--active{opacity:1;pointer-events:auto}.portfolio__drawer{position:fixed;top:0;right:0;width:min(560px,100%);height:100vh;background:#0f0f0f;border-left:1px solid var(--border-default);z-index:1000;transform:translateX(100%);transition:transform .4s cubic-bezier(.16,1,.3,1);box-shadow:-10px 0 30px rgba(0,0,0,.5)}.portfolio__drawer--active{transform:translateX(0)}.portfolio__drawer-content{display:flex;flex-direction:column;height:100%;overflow-y:auto}.portfolio__drawer-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.25rem;background:rgba(11,11,11,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-default);flex-shrink:0}.portfolio__drawer-eyebrow{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);display:inline-flex;align-items:center;gap:.45rem}.portfolio__drawer-topbar-actions{display:inline-flex;align-items:center;gap:.6rem}.portfolio__drawer-close{background:rgba(255,255,255,.05);border:1px solid var(--border-default);color:var(--text-secondary);padding:.45rem .75rem;border-radius:4px;cursor:pointer;font-family:var(--font-mono);font-size:.72rem;transition:all var(--duration) var(--ease)}.portfolio__drawer-close:hover{color:var(--text-primary);border-color:var(--border-hover);background:rgba(255,255,255,.1)}.portfolio__drawer-hero{position:relative;flex-shrink:0;width:100%;background:#080808;overflow:hidden;border-bottom:1px solid var(--border-default)}.portfolio__drawer-hero img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;margin:0 auto}.portfolio__drawer-body{padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.portfolio__drawer-meta{font-family:var(--font-mono);font-size:.7rem;color:var(--text-secondary);letter-spacing:.08em;display:flex;align-items:center;gap:.5rem}.portfolio__drawer-sep{color:var(--accent)}.portfolio__drawer-title{font-size:1.8rem;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:1.1}.portfolio__drawer-status-card{background:var(--bg-card);border:1px solid var(--border-default);padding:.8rem 1.2rem;border-radius:6px;display:flex;flex-direction:column;gap:.2rem}.status-label{font-family:var(--font-mono);font-size:.6rem;color:var(--text-secondary);letter-spacing:.05em}.status-value{font-size:.95rem;font-weight:700;color:var(--text-main)}.portfolio__drawer-desc{font-size:.9rem;color:var(--text-secondary);line-height:1.6}.portfolio__drawer-section h4{font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.08em;margin-bottom:.8rem;color:var(--text-main)}.portfolio__drawer-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.portfolio__drawer-list li{font-size:.85rem;color:var(--text-secondary);position:relative;padding-left:1.25rem;line-height:1.5}.portfolio__drawer-list li:before{content:"⊙";position:absolute;left:0;color:var(--accent);font-size:.75rem}.portfolio__drawer-cta{margin-top:1rem;width:100%;text-align:center;background:var(--accent);color:var(--bg-main);font-weight:700;padding:.9rem;border-radius:6px;display:block;text-decoration:none}.portfolio__drawer-cta span{font-size:.8em;margin-left:.2rem}.portfolio__drawer-cta:hover{background:#ff571a;box-shadow:0 0 15px rgba(255,69,0,.4)}.portfolio__drawer-nav{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:4px;border:1px solid var(--border-hover);background:rgba(10,10,10,.78);color:var(--text-primary);font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;transition:all var(--duration) var(--ease)}.portfolio__drawer-nav:hover{border-color:var(--accent);color:var(--accent);background:rgba(10,10,10,.95)}.portfolio__drawer-nav--prev{left:.75rem}.portfolio__drawer-nav--next{right:.75rem}.portfolio__drawer-counter{padding:.35rem .6rem;border-radius:4px;background:rgba(255,255,255,.03);border:1px solid var(--border-default);font-family:var(--font-mono);font-size:.68rem;color:var(--text-secondary)}.portfolio__drawer-thumbs{display:flex;flex-shrink:0;gap:.5rem;padding:.75rem 2rem;overflow-x:auto;border-bottom:1px solid var(--border-default);background:#0b0b0b}.portfolio__drawer-thumb{flex:0 0 68px;height:46px;border-radius:4px;overflow:hidden;border:1px solid var(--border-default);background:var(--bg-card);padding:0;cursor:pointer;opacity:.6;transition:all var(--duration) var(--ease)}.portfolio__drawer-thumb:hover{opacity:.9;border-color:var(--border-hover)}.portfolio__drawer-thumb--active{opacity:1;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.portfolio__drawer-thumb img{width:100%;height:100%;object-fit:cover;object-position:top center}