:root{--font-name: "Montserrat";--accent: #296eff;--accent-soft: rgba(41, 110, 255, .22);--accent-glow: rgba(41, 110, 255, .35);--bg: #0a1224;--text: #f0f0f0;--muted: #a0a0a0;--muted-2: #c0c0c0;--card-bg: rgba(41, 110, 255, .12);--card-border: rgba(41, 110, 255, .55);--glass-shadow: inset 0 0 0 1px rgba(255, 255, 255, .03), inset 1.8px 3px 0px -2px rgba(255, 255, 255, .2), inset -2px -2px 0px -2px rgba(255, 255, 255, .16), 0px 8px 30px rgba(41, 110, 255, .18);--page-pad-x: clamp(12px, 3vw, 40px);--page-pad-y: clamp(20px, 4vh, 48px);--card-pad: clamp(18px, 3vw, 30px);--title: clamp(1.75rem, 5vw + .5rem, 3rem);--brand: clamp(1.15rem, 2.5vw + .6rem, 1.85rem);--tap: 48px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--bg)}html,body{min-height:100%;min-height:100dvh}body{position:relative;font-family:var(--font-name),system-ui,sans-serif;background-color:var(--bg);color:var(--text);display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:max(var(--page-pad-y),env(safe-area-inset-top,0px)) max(var(--page-pad-x),env(safe-area-inset-right,0px)) max(var(--page-pad-y),env(safe-area-inset-bottom,0px)) max(var(--page-pad-x),env(safe-area-inset-left,0px));-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-color:var(--bg);background-image:radial-gradient(140% 90% at 50% 0%,#1a3a8a 0%,transparent 55%),linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:100% 100%,30px 30px,30px 30px;background-repeat:no-repeat,repeat,repeat}#app{position:relative;z-index:1;width:100%;display:flex;justify-content:center}.main-container{text-align:center;max-width:min(1200px,100%);width:100%;margin:0 auto;animation:fadeUp .45s ease both}.brand-row{display:inline-flex;align-items:center;justify-content:center;gap:clamp(10px,2vw,14px);margin-bottom:clamp(12px,2vw,18px);max-width:100%}.brand-logo{width:clamp(44px,10vw,64px);height:clamp(44px,10vw,64px);flex-shrink:0;object-fit:contain;background:transparent;border:none;border-radius:0;filter:none}.brand-name{font-size:var(--brand);font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff;text-align:left;line-height:1.1;word-break:break-word}header{margin-bottom:clamp(28px,5vw,50px);padding:0 4px}header h1{font-size:var(--title);font-weight:900;margin-bottom:12px;color:#fff;line-height:1.15}header .subtitle{font-size:clamp(.95rem,.4vw + .85rem,1.1rem);color:var(--muted);max-width:520px;margin:0 auto;line-height:1.55;font-weight:500;padding:0 4px}.links-status{display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:6px 12px;border-radius:999px;background:#77ff291a;border:1px solid rgba(119,255,41,.28);color:#9dff6a;font-size:12px;font-weight:700;letter-spacing:.02em}.links-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#77ff29;box-shadow:0 0 8px #77ff29b3}.projects-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),320px));justify-content:center;align-items:stretch;gap:clamp(16px,3vw,30px);width:100%}.project-card{width:100%;max-width:100%;padding:var(--card-pad);border-radius:clamp(18px,3vw,24px);text-align:left;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;border:1px solid var(--card-border);background:var(--card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--glass-shadow);min-width:0}@media(hover:hover)and (pointer:fine){.project-card:hover{transform:translateY(-10px);box-shadow:inset 0 0 0 1px #ffffff0f,0 16px 40px #296eff47}.btn-primary:hover{background-color:#4580ff;box-shadow:0 6px 22px #4580ff73}.btn-secondary:hover{background-color:var(--accent-soft)}footer a:hover{color:#fff}}.icon-placeholder{height:clamp(72px,14vw,90px);width:clamp(72px,14vw,90px);border-radius:16px;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:clamp(16px,3vw,25px);background:#00000040;flex-shrink:0;border:1px solid rgba(255,255,255,.08)}.icon-image{width:100%;height:100%;object-fit:cover;display:block}.icon-image--cover{object-fit:cover;padding:0}.project-card h3{font-size:clamp(1.35rem,2vw + .8rem,1.75rem);font-weight:800;color:#fff;margin-bottom:8px;letter-spacing:-.02em;word-break:break-word}.project-card>.card-content>p,.card-content>.short{font-size:clamp(.92rem,.3vw + .85rem,1rem);color:var(--muted-2);margin-bottom:clamp(18px,3vw,30px);font-weight:500;line-height:1.5}.card-content{flex-grow:1;min-height:0}.project-details{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease;font-size:clamp(.85rem,.2vw + .8rem,.9rem);color:var(--muted-2);line-height:1.6;font-weight:500}.project-details.open{grid-template-rows:1fr;margin-top:0;margin-bottom:12px}.project-details__inner{overflow:hidden;min-height:0;opacity:0;transition:opacity .2s ease}.project-details.open .project-details__inner{opacity:1;transition:opacity .22s ease .04s}.project-details ul{padding-left:20px;margin-top:10px}.project-details li+li{margin-top:4px}.button-group{margin-top:auto;display:flex;flex-direction:column;gap:10px}.btn{display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;color:#fff;font-family:inherit;font-weight:700;font-size:clamp(.92rem,.3vw + .85rem,1rem);min-height:var(--tap);padding:12px 14px;border-radius:12px;transition:background-color .25s ease,box-shadow .25s ease,transform .15s ease;width:100%;cursor:pointer;border:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--accent);box-shadow:0 4px 18px var(--accent-glow)}.btn-secondary{background-color:transparent;border:2px solid var(--accent);color:#8eb6ff}footer{width:100%;margin-top:clamp(32px,5vw,50px);padding:16px 8px max(8px,env(safe-area-inset-bottom,0px));text-align:center;color:#888;font-size:clamp(.8rem,.2vw + .75rem,.9rem);font-weight:500}footer a{color:#888;text-decoration:none;transition:color .3s}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:619px){body{align-items:flex-start}.projects-container{grid-template-columns:minmax(0,1fr);max-width:400px;margin-inline:auto}}@media(max-width:374px){:root{--page-pad-x: 10px;--card-pad: 16px}.brand-name{letter-spacing:.02em}.project-card h3{font-size:1.25rem}.btn{font-size:.9rem}}@media(max-height:500px)and (orientation:landscape){body{align-items:flex-start;padding-top:max(12px,env(safe-area-inset-top,0px))}header{margin-bottom:20px}header h1{font-size:clamp(1.4rem,4vw,2rem)}.projects-container{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));max-width:900px;margin-inline:auto}.card-content>.short{margin-bottom:14px}}@media(min-width:620px)and (max-width:999px){.projects-container{max-width:700px;margin-inline:auto;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1000px){.main-container{max-width:1100px}.projects-container{max-width:1080px;margin-inline:auto;grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1400px){.main-container{max-width:1200px}.projects-container{max-width:1140px;gap:28px}}@media(min-width:1800px){.main-container{max-width:1280px}header h1{font-size:clamp(2.5rem,2.2vw,3.5rem)}.projects-container{gap:32px}.project-card{padding:34px}}@media(min-width:2560px){.main-container{max-width:1700px}.brand-logo{width:72px;height:72px}}@media(max-width:719px),(prefers-reduced-transparency:reduce){.project-card{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
