@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700;800;900&display=swap";:root{--color-bg:#0a0a0f;--color-bg-secondary:#111118;--color-surface:#16161f;--color-surface-hover:#1e1e2a;--color-border:#ffffff14;--color-border-hover:#ffffff2e;--color-accent:#6c63ff;--color-accent-light:#9d97ff;--color-accent-glow:#6c63ff40;--color-accent-gradient:linear-gradient(135deg, #6c63ff 0%, #a855f7 100%);--color-text-primary:#f0f0f8;--color-text-secondary:#f0f0f8a6;--color-text-muted:#f0f0f859;--color-white:#fff;--font-display:"Outfit", sans-serif;--font-body:"Inter", sans-serif;--space-2xs:.25rem;--space-xs:.5rem;--space-s:.75rem;--space-m:1rem;--space-l:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--wrapper-max:1200px;--wrapper-px:clamp(1rem, 5vw, 3rem);--radius-s:6px;--radius-m:12px;--radius-l:18px;--radius-xl:24px;--radius-full:9999px;--shadow-s:0 1px 3px #0006;--shadow-m:0 4px 20px #00000080;--shadow-glow:0 0 30px var(--color-accent-glow);--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.7;overflow-x:hidden}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit}.wrapper{max-width:var(--wrapper-max);padding-inline:var(--wrapper-px);margin-inline:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gradient-text{background:var(--color-accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.eyebrow{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-light);font-size:.75rem;font-weight:600;display:inline-block}.btn{align-items:center;gap:var(--space-xs);border-radius:var(--radius-full);font-family:var(--font-display);letter-spacing:.02em;transition:all var(--transition-base);white-space:nowrap;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--color-accent-gradient);color:var(--color-white);box-shadow:0 4px 20px #6c63ff59}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #6c63ff80}.btn-secondary{color:var(--color-text-secondary);border:1px solid var(--color-border);background:0 0}.btn-secondary:hover{border-color:var(--color-accent);color:var(--color-text-primary);transform:translateY(-2px)}.section-panel{padding-block:var(--space-5xl)}@media (width<=768px){.section-panel{padding-block:var(--space-4xl)}}.header{z-index:100;padding:var(--space-m) 0;transition:background var(--transition-base), box-shadow var(--transition-base);position:fixed;top:0;left:0;right:0}.header.scrolled{-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--color-border);background:#0a0a0fd9}.header__inner{justify-content:space-between;align-items:center;gap:var(--space-xl);display:flex}.header__logo{align-items:center;gap:var(--space-xs);flex-shrink:0;text-decoration:none;display:flex}.header__logo-mark{background:var(--color-accent-gradient);border-radius:var(--radius-s);width:36px;height:36px;font-family:var(--font-display);color:var(--color-white);transition:transform var(--transition-base), box-shadow var(--transition-base);flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:900;display:flex}.header__logo-mark:hover{box-shadow:var(--shadow-glow);transform:rotate(-5deg)scale(1.05)}.header__logo-text{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);font-size:1.1rem;font-weight:700}.header__logo-text span{background:var(--color-accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.header__nav{align-items:center;display:flex}.header__nav-list{align-items:center;gap:var(--space-xl);display:flex}.header__nav-list li a{color:var(--color-text-secondary);transition:color var(--transition-fast);font-size:.9rem;font-weight:500;position:relative}.header__nav-list li a:after{content:"";background:var(--color-accent-gradient);border-radius:var(--radius-full);height:2px;transition:transform var(--transition-base);transform-origin:0;position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.header__nav-list li a:hover{color:var(--color-text-primary)}.header__nav-list li a:hover:after{transform:scaleX(1)}.header__cta{align-items:center;gap:var(--space-m);display:flex}.header__hamburger{padding:var(--space-xs);cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;display:none}.header__hamburger span{background:var(--color-text-primary);border-radius:var(--radius-full);width:22px;height:2px;transition:all var(--transition-base);transform-origin:50%;display:block}.header__hamburger.open span:first-child{transform:translateY(7px)rotate(45deg)}.header__hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.header__hamburger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.header__mobile-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:var(--space-3xl) var(--space-xl);align-items:center;gap:var(--space-xl);z-index:99;opacity:0;transition:opacity var(--transition-base), transform var(--transition-base);pointer-events:none;background:#0a0a0ff7;flex-direction:column;display:none;position:fixed;inset:70px 0 0;transform:translateY(-10px)}.header__mobile-nav.open{opacity:1;pointer-events:all;display:flex;transform:translateY(0)}.header__mobile-nav a{font-family:var(--font-display);color:var(--color-text-secondary);transition:color var(--transition-fast);font-size:1.5rem;font-weight:700}.header__mobile-nav a:hover{color:var(--color-text-primary)}@media (width<=900px){.header__nav,.header__cta .btn{display:none}.header__hamburger{display:flex}.header__cta{gap:0}}.hero{align-items:center;min-height:100vh;padding-top:90px;display:flex;position:relative;overflow:hidden}.hero__bg{pointer-events:none;z-index:0;position:absolute;inset:0}.hero__blob{border-radius:var(--radius-full);filter:blur(80px);opacity:.18;position:absolute}.hero__blob--1{background:#6c63ff;width:600px;height:600px;animation:12s ease-in-out infinite blobFloat1;top:-100px;right:-150px}.hero__blob--2{background:#a855f7;width:400px;height:400px;animation:15s ease-in-out infinite blobFloat2;bottom:0;left:-100px}.hero__blob--3{opacity:.1;background:#06b6d4;width:250px;height:250px;animation:10s ease-in-out infinite blobFloat3;top:40%;left:40%}@keyframes blobFloat1{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-30px,30px)scale(1.05)}}@keyframes blobFloat2{0%,to{transform:translate(0)scale(1)}50%{transform:translate(20px,-20px)scale(.95)}}@keyframes blobFloat3{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-15px,15px)scale(1.1)}}.hero__bg:after{content:"";opacity:.4;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");position:absolute;inset:0}.hero__content{z-index:1;gap:var(--space-4xl);grid-template-columns:1fr 1fr;align-items:center;width:100%;display:grid;position:relative}.hero__left{gap:var(--space-l);flex-direction:column;display:flex}.hero__eyebrow{align-items:center;gap:var(--space-xs);animation:.6s .1s both fadeInUp;display:inline-flex}.hero__eyebrow-dot{border-radius:var(--radius-full);background:#22c55e;width:8px;height:8px;animation:2s ease-in-out infinite pulse;box-shadow:0 0 8px #22c55e99}@keyframes pulse{0%,to{box-shadow:0 0 8px #22c55e99}50%{box-shadow:0 0 16px #22c55e}}.hero__headline{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-text-primary);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;line-height:1.08;animation:.6s .2s both fadeInUp}.hero__headline .line-accent{background:var(--color-accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;display:block}.hero__subline{color:var(--color-text-secondary);max-width:46ch;font-size:1.1rem;line-height:1.75;animation:.6s .3s both fadeInUp}.hero__actions{align-items:center;gap:var(--space-m);flex-wrap:wrap;animation:.6s .4s both fadeInUp;display:flex}.hero__scroll-hint{align-items:center;gap:var(--space-xs);color:var(--color-text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.82rem;display:inline-flex}.hero__stats{gap:var(--space-xl);padding-top:var(--space-l);border-top:1px solid var(--color-border);animation:.6s .55s both fadeInUp;display:flex}.hero__stat-value{font-family:var(--font-display);background:var(--color-accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800;line-height:1}.hero__stat-label{color:var(--color-text-muted);letter-spacing:.04em;margin-top:4px;font-size:.8rem}.hero__right{justify-content:center;align-items:center;animation:.7s .35s both fadeInUp;display:flex}.hero__visual{width:100%;max-width:480px;position:relative}.hero__visual-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);position:relative;overflow:hidden}.hero__visual-card:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(135deg,#6c63ff14 0%,#0000 60%);position:absolute;inset:0}.hero__visual-img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform var(--transition-slow);display:block}.hero__visual-card:hover .hero__visual-img{transform:scale(1.03)}.hero__visual-badge{bottom:var(--space-m);left:var(--space-m);right:var(--space-m);z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:var(--radius-m);padding:var(--space-m);align-items:center;gap:var(--space-m);background:#0a0a0fd9;display:flex;position:absolute}.hero__visual-badge-icon{background:var(--color-accent-gradient);border-radius:var(--radius-s);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:flex}.hero__visual-badge-text strong{font-family:var(--font-display);color:var(--color-text-primary);font-size:.9rem;font-weight:700;display:block}.hero__visual-badge-text span{color:var(--color-text-muted);font-size:.78rem}.hero__chip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);white-space:nowrap;padding:6px 14px;font-size:.75rem;font-weight:600;animation:6s ease-in-out infinite chipFloat;position:absolute}.hero__chip--1{animation-delay:0s;top:-20px;right:10%}.hero__chip--2{animation-delay:2s;top:30%;right:-30px}.hero__chip--3{animation-delay:4s;bottom:80px;left:-30px}@keyframes chipFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.hero__content{gap:var(--space-3xl);text-align:center;grid-template-columns:1fr}.hero__left{align-items:center}.hero__stats,.hero__actions{justify-content:center}.hero__visual{max-width:360px}.hero__chip--2,.hero__chip--3{display:none}}@media (width<=480px){.hero__headline{font-size:2.2rem}.hero__stats{gap:var(--space-l)}}.stack{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.stack__header{text-align:center;margin-bottom:var(--space-3xl)}.stack__headline{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-text-primary);margin-top:var(--space-m);margin-bottom:var(--space-m);font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:800}.stack__subline{color:var(--color-text-secondary);max-width:50ch;margin-inline:auto;font-size:1rem}.stack__tabs{justify-content:center;gap:var(--space-xs);margin-bottom:var(--space-2xl);flex-wrap:wrap;display:flex}.stack__tab{border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);letter-spacing:.02em;background:0 0;padding:.5rem 1.1rem;font-size:.82rem;font-weight:600}.stack__tab:hover{border-color:var(--color-accent);color:var(--color-text-primary)}.stack__tab.active{background:var(--color-accent-gradient);color:var(--color-white);border-color:#0000;box-shadow:0 4px 15px #6c63ff59}.stack__grid{gap:var(--space-m);grid-template-columns:repeat(auto-fill,minmax(130px,1fr));display:grid}.stack__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-l);padding:var(--space-l) var(--space-m);align-items:center;gap:var(--space-s);text-align:center;transition:all var(--transition-base);cursor:default;flex-direction:column;display:flex;position:relative;overflow:hidden}.stack__card:before{content:"";background:var(--color-accent-gradient);opacity:0;transition:opacity var(--transition-base);z-index:0;position:absolute;inset:0}.stack__card:hover{border-color:var(--color-accent);transform:translateY(-4px);box-shadow:0 8px 30px #6c63ff33}.stack__card:hover:before{opacity:.06}.stack__card-icon{z-index:1;filter:drop-shadow(0 2px 6px #0000004d);font-size:2.2rem;line-height:1;position:relative}.stack__card-name{z-index:1;font-family:var(--font-display);color:var(--color-text-secondary);transition:color var(--transition-fast);letter-spacing:.01em;font-size:.82rem;font-weight:700;position:relative}.stack__card:hover .stack__card-name{color:var(--color-text-primary)}.stack__card-level{z-index:1;background:var(--color-border);border-radius:var(--radius-full);width:100%;height:3px;position:relative;overflow:hidden}.stack__card-level-fill{border-radius:var(--radius-full);background:var(--color-accent-gradient);transform-origin:0;height:100%;animation:1s both levelGrow}@keyframes levelGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (width<=768px){.stack__grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}@media (width<=480px){.stack__grid{grid-template-columns:repeat(3,1fr)}}.portfolio{background:var(--color-bg)}.portfolio__header{justify-content:space-between;align-items:flex-end;gap:var(--space-l);margin-bottom:var(--space-3xl);flex-wrap:wrap;display:flex}.portfolio__header-left{gap:var(--space-m);flex-direction:column;display:flex}.portfolio__headline{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-text-primary);font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:800}.portfolio__subline{color:var(--color-text-secondary);max-width:46ch}.portfolio__header-cta{flex-shrink:0}.portfolio__grid{gap:var(--space-l);grid-template-columns:repeat(2,1fr);display:grid}.portfolio__grid-item--featured{grid-column:span 2}.portfolio__card{border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border);group:true;transition:border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);flex-direction:column;display:flex;position:relative;overflow:hidden}.portfolio__card:hover{border-color:#6c63ff66;transform:translateY(-4px);box-shadow:0 12px 40px #00000080,0 0 0 1px #6c63ff1a}.portfolio__card-img-wrap{aspect-ratio:16/9;position:relative;overflow:hidden}.portfolio__card--featured .portfolio__card-img-wrap{aspect-ratio:21/9}.portfolio__card-img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow);display:block}.portfolio__card:hover .portfolio__card-img{transform:scale(1.05)}.portfolio__card-overlay{padding:var(--space-m);opacity:0;transition:opacity var(--transition-base);background:linear-gradient(#0000 40%,#0a0a0fd9 100%);justify-content:flex-end;align-items:flex-end;display:flex;position:absolute;inset:0}.portfolio__card:hover .portfolio__card-overlay{opacity:1}.portfolio__card-visit{align-items:center;gap:var(--space-xs);border-radius:var(--radius-full);background:var(--color-accent-gradient);color:var(--color-white);transition:transform var(--transition-fast);padding:.5rem 1rem;font-size:.82rem;font-weight:600;display:inline-flex}.portfolio__card-visit:hover{transform:scale(1.05)}.portfolio__card-info{padding:var(--space-l);gap:var(--space-xs);flex-direction:column;flex:1;display:flex}.portfolio__card-tags{gap:var(--space-xs);flex-wrap:wrap;display:flex}.portfolio__card-tag{border-radius:var(--radius-full);color:var(--color-accent-light);letter-spacing:.04em;text-transform:uppercase;background:#6c63ff1f;border:1px solid #6c63ff33;padding:3px 10px;font-size:.72rem;font-weight:600}.portfolio__card-title{font-family:var(--font-display);color:var(--color-text-primary);transition:color var(--transition-fast);font-size:1.15rem;font-weight:700}.portfolio__card:hover .portfolio__card-title{color:var(--color-accent-light)}.portfolio__card-desc{color:var(--color-text-secondary);font-size:.88rem;line-height:1.65}@media (width<=768px){.portfolio__grid{grid-template-columns:1fr}.portfolio__grid-item--featured{grid-column:span 1}.portfolio__card--featured .portfolio__card-img-wrap{aspect-ratio:16/9}.portfolio__header{flex-direction:column;align-items:flex-start}}.contact{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);position:relative;overflow:hidden}.contact:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#6c63ff1f 0%,#0000 70%);width:600px;height:600px;position:absolute;top:-150px;right:-150px}.contact__inner{z-index:1;gap:var(--space-4xl);grid-template-columns:1fr 1fr;align-items:start;display:grid;position:relative}.contact__info{gap:var(--space-xl);flex-direction:column;display:flex}.contact__headline{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-text-primary);margin-top:var(--space-m);font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:800;line-height:1.2}.contact__subline{color:var(--color-text-secondary);line-height:1.75}.contact__details{gap:var(--space-s);flex-direction:column;display:flex}.contact__detail{align-items:center;gap:var(--space-m);padding:var(--space-m);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-m);transition:border-color var(--transition-base);display:flex}.contact__detail:hover{border-color:var(--color-accent)}.contact__detail-icon{border-radius:var(--radius-s);background:#6c63ff1f;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;display:flex}.contact__detail-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:600}.contact__detail-value{color:var(--color-text-primary);font-size:.9rem;font-weight:600}.contact__availability{align-items:center;gap:var(--space-xs);border-radius:var(--radius-full);color:#22c55e;letter-spacing:.04em;background:#22c55e1a;border:1px solid #22c55e40;width:fit-content;padding:.4rem .9rem;font-size:.78rem;font-weight:600;display:inline-flex}.contact__availability-dot{border-radius:var(--radius-full);background:#22c55e;width:7px;height:7px;animation:2s ease-in-out infinite pulse}.contact__form-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-2xl)}.contact__form{gap:var(--space-l);flex-direction:column;display:flex}.contact__form-row{gap:var(--space-m);grid-template-columns:1fr 1fr;display:grid}.contact__field{gap:var(--space-xs);flex-direction:column;display:flex}.contact__label{color:var(--color-text-secondary);letter-spacing:.04em;font-size:.82rem;font-weight:600}.contact__label span{color:var(--color-accent-light)}.contact__input,.contact__textarea{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-m);width:100%;color:var(--color-text-primary);font-size:.92rem;font-family:var(--font-body);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);resize:none;outline:none;padding:.8rem 1rem}.contact__input::placeholder,.contact__textarea::placeholder{color:var(--color-text-muted)}.contact__input:focus,.contact__textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #6c63ff26}.contact__textarea{min-height:140px}.contact__submit{justify-content:center;width:100%;padding:.9rem 1.5rem;font-size:1rem}.contact__success{text-align:center;padding:var(--space-2xl);align-items:center;gap:var(--space-m);flex-direction:column;display:flex}.contact__success-icon{font-size:3rem;animation:.5s successBounce}@keyframes successBounce{0%{transform:scale(0)}70%{transform:scale(1.15)}to{transform:scale(1)}}.contact__success h3{font-family:var(--font-display);color:var(--color-text-primary);font-size:1.4rem;font-weight:700}.contact__success p{color:var(--color-text-secondary);font-size:.9rem}.contact__error{align-items:flex-start;gap:var(--space-xs);padding:var(--space-m);border-radius:var(--radius-m);color:#fca5a5;background:#ef444414;border:1px solid #ef444440;font-size:.875rem;line-height:1.55;animation:.2s both fadeInUp;display:flex}@media (width<=900px){.contact__inner{gap:var(--space-3xl);grid-template-columns:1fr}.contact__form-row{grid-template-columns:1fr}}@media (width<=480px){.contact__form-wrap{padding:var(--space-l)}}.footer{background:var(--color-bg);border-top:1px solid var(--color-border);padding:var(--space-3xl) 0 var(--space-xl)}.footer__inner{gap:var(--space-3xl);margin-bottom:var(--space-3xl);grid-template-columns:2fr 1fr 1fr;display:grid}.footer__brand{gap:var(--space-l);flex-direction:column;display:flex}.footer__logo{align-items:center;gap:var(--space-xs);text-decoration:none;display:flex}.footer__logo-mark{background:var(--color-accent-gradient);border-radius:var(--radius-s);width:34px;height:34px;font-family:var(--font-display);color:var(--color-white);justify-content:center;align-items:center;font-size:.9rem;font-weight:900;display:flex}.footer__logo-text{font-family:var(--font-display);color:var(--color-text-primary);font-size:1rem;font-weight:700}.footer__logo-text span{background:var(--color-accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.footer__tagline{color:var(--color-text-secondary);max-width:36ch;font-size:.88rem;line-height:1.7}.footer__socials{gap:var(--space-s);display:flex}.footer__social-link{border-radius:var(--radius-m);background:var(--color-surface);border:1px solid var(--color-border);width:38px;height:38px;color:var(--color-text-secondary);transition:all var(--transition-base);justify-content:center;align-items:center;font-size:1rem;text-decoration:none;display:flex}.footer__social-link:hover{background:var(--color-surface-hover);border-color:var(--color-accent);color:var(--color-accent-light);transform:translateY(-2px)}.footer__nav-group{gap:var(--space-m);flex-direction:column;display:flex}.footer__nav-title{font-family:var(--font-display);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;font-weight:700}.footer__nav-list{gap:var(--space-s);flex-direction:column;display:flex}.footer__nav-list li a{color:var(--color-text-secondary);transition:color var(--transition-fast);font-size:.88rem}.footer__nav-list li a:hover{color:var(--color-accent-light)}.footer__bottom{padding-top:var(--space-xl);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:var(--space-m);flex-wrap:wrap;display:flex}.footer__copyright{color:var(--color-text-muted);font-size:.82rem}.footer__copyright a{color:var(--color-accent-light);transition:color var(--transition-fast)}.footer__copyright a:hover{color:var(--color-text-primary)}.footer__bottom-links{gap:var(--space-l);display:flex}.footer__bottom-links a{color:var(--color-text-muted);transition:color var(--transition-fast);font-size:.82rem}.footer__bottom-links a:hover{color:var(--color-text-secondary)}@media (width<=768px){.footer__inner{gap:var(--space-2xl);grid-template-columns:1fr 1fr}.footer__brand{grid-column:span 2}}@media (width<=480px){.footer__inner{grid-template-columns:1fr}.footer__brand{grid-column:span 1}.footer__bottom{flex-direction:column;align-items:flex-start}}#root{flex-direction:column;min-height:100vh;display:flex}main{flex:1}
