*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:#000;color:#d1d5db;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;overflow-x:hidden}
.fixed{position:fixed}.relative{position:relative}.absolute{position:absolute}
.inset-0{inset:0}.top-0{top:0}.left-0{left:0}.right-0{right:0}.z-50{z-index:50}.z-10{z-index:10}
.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}
.flex-col{flex-direction:column}.gap-3{gap:.75rem}.gap-1\.5{gap:.375rem}
.w-full{width:100%}.w-6{width:1.5rem}.h-0\.5{height:.125rem}.block{display:block}
.min-h-\[100dvh\]{min-height:100dvh}
.max-w-6xl{max-width:72rem}.max-w-2xl{max-width:42rem}
.mx-3{margin-left:.75rem;margin-right:.75rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}
.mb-0{margin-bottom:0}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}
.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}
.rounded-lg{border-radius:.5rem}
.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}
.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}
.font-bold{font-weight:700}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}
.tracking-tight{letter-spacing:-.025em}
.text-terminal-green{color:#00FF41}.text-terminal-cyan{color:#0FF}.text-gray-500{color:#6b7280}
.text-\[\#eeeeec\]{color:#eeeeec}.text-\[\#babdb6\]{color:#babdb6}
.bg-terminal-green{background-color:#00FF41}
.min-h-\[44px\]{min-height:44px}.min-w-\[44px\]{min-width:44px}
.parallax-container{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.glass{background:rgba(255,255,255,.06);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.12);box-shadow:0 4px 24px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06)}
.glass-inner{background:rgba(255,255,255,.04);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:6px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
header nav{gap:.75rem}
.nav-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;margin-left:auto}
.nav-contact-btn{display:none}
.nav-contact-btn.btn-terminal{padding:.5rem 1.25rem;font-size:.875rem}
.h-full{height:100%}.max-w-xs{max-width:20rem}.z-40{z-index:40}
.gap-5{gap:1.25rem}.p-6{padding:1.5rem}.pt-20{padding-top:5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}
.text-base{font-size:1rem;line-height:1.5rem}
.glass-strong{background:rgba(255,255,255,.09);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.14);box-shadow:0 8px 32px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.08)}
.mobile-menu{transform:translateX(100%);transition:transform .3s ease;pointer-events:none;visibility:hidden}
.mobile-menu.open{transform:translateX(0);pointer-events:auto;visibility:visible}
.menu-backdrop{background:rgba(0,0,0,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.debian-terminal{width:100%;max-width:72rem;margin-inline:auto;border-radius:8px;overflow:hidden;background:rgba(12,12,12,.42);backdrop-filter:blur(24px) saturate(1.35);-webkit-backdrop-filter:blur(24px) saturate(1.35);border:1px solid rgba(255,255,255,.16);box-shadow:0 16px 48px rgba(0,0,0,.5),0 0 0 1px rgba(0,255,65,.1),inset 0 1px 0 rgba(255,255,255,.1);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.debian-terminal-titlebar{background:rgba(255,255,255,.1);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border-bottom:1px solid rgba(255,255,255,.12);padding:5px 12px;display:flex;align-items:center;justify-content:center;position:relative;min-height:28px}
.debian-terminal-titlebar::before{content:attr(data-tty);position:absolute;left:10px;font-size:.65rem;color:#6e6e6e}
.debian-terminal-title{font-size:.7rem;color:#b5b5b5}
.debian-terminal-screen{background:rgba(0,0,0,.32);backdrop-filter:blur(20px) saturate(1.25);-webkit-backdrop-filter:blur(20px) saturate(1.25);padding:18px 20px;color:#c0c0c0}
.debian-terminal-screen .login-banner{border-bottom:none;padding:12px 14px;margin-bottom:14px;font-size:.75rem;line-height:1.6}
.debian-prompt-root{color:#EF2929}.debian-prompt-host,.debian-prompt-user{color:#8AE234}.debian-prompt-path{color:#729FCF}.debian-prompt-symbol{color:#eeeeec}.debian-motd{color:#888a85}.debian-systemd-ok{color:#4e9a06}
.terminal-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;margin-bottom:.5rem;padding-bottom:4px;scrollbar-width:thin;scrollbar-color:#555 transparent}
.terminal-cmd-line{white-space:nowrap;display:inline-block;min-width:min(100%,max-content)}
.btn-terminal{position:relative;display:inline-flex;align-items:center;gap:8px;padding:14px 32px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;font-weight:500;color:#00FF41;background:rgba(0,255,65,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,255,65,.45);border-radius:4px;text-decoration:none}
.hero-boot-pending{visibility:hidden}
.hero-proposition-pending{visibility:hidden;opacity:0;pointer-events:none}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.typing-cursor{display:inline-block;width:8px;height:1.1em;background:#eeeeec;margin-left:1px;vertical-align:text-bottom;animation:blink .9s step-end infinite}
.typing-cursor.is-hidden{visibility:hidden}
.scanlines::after{content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px)}
@media (max-width:767px){
  header nav{padding-top:.65rem;padding-bottom:.65rem}
  #menuToggle{margin-right:0;padding:.5rem}
  #hero{--hero-header-gap:.75rem;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:stretch;height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden;padding-top:calc(5.25rem + env(safe-area-inset-top,0px) + var(--hero-header-gap));padding-bottom:0;box-sizing:border-box}
  #hero>.max-w-6xl{min-height:0;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;grid-row:1;padding-top:.25rem}
  #hero .hero-terminal{flex:0 1 auto;min-height:0;max-height:100%;display:flex;flex-direction:column;overflow:hidden;width:100%}
  #hero .hero-terminal .debian-terminal-screen{flex:0 1 auto;min-height:0;height:auto;max-height:100%;overflow-y:hidden;overscroll-behavior:contain;padding:12px 14px 14px;font-size:.82rem;line-height:1.65;scrollbar-width:none}
  #hero .hero-terminal .debian-terminal-screen::-webkit-scrollbar{display:none}
  #hero .hero-terminal .debian-terminal-screen:has(#heroProposition:not(.hero-proposition-pending)){overflow-y:auto;-webkit-overflow-scrolling:touch}
  #hero .scroll-indicator{position:static;grid-row:2;width:100%;flex-shrink:0;padding-bottom:max(.625rem,env(safe-area-inset-bottom));z-index:20}
  .debian-terminal-screen{min-height:0;padding:12px 14px}
  #hero .hero-terminal #heroProposition{padding:1.5rem 1.375rem 1.625rem}
  #hero .hero-terminal #heroProposition h1{font-size:1.2rem;line-height:1.55;margin-bottom:1.125rem}
  #hero .hero-terminal #heroProposition p{font-size:.9rem;line-height:1.75;margin-bottom:1.5rem}
  #hero .hero-terminal #heroProposition .btn-terminal{padding:12px 22px;font-size:.82rem;min-height:46px}
}
@media (min-width:640px){.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:mt-4{margin-top:1rem}.sm\:block{display:block}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\:w-auto{width:auto}.sm\:w-72{width:18rem}.sm\:p-8{padding:2rem}.sm\:pt-24{padding-top:6rem}}
@media (min-width:768px){
  .nav-contact-btn{display:inline-flex}
  .md\:hidden{display:none}
  .md\:flex{display:flex}
  .md\:items-center{align-items:center}
  .md\:justify-center{justify-content:center}
  .md\:mx-8{margin-left:2rem;margin-right:2rem}
  .md\:mt-6{margin-top:1.5rem}
  .md\:mt-8{margin-top:2rem}
  .md\:px-8{padding-left:2rem;padding-right:2rem}
  .md\:pt-28{padding-top:7rem}
  .md\:pb-20{padding-bottom:5rem}
  .md\:text-base{font-size:1rem;line-height:1.5rem}
  .md\:text-sm{font-size:.875rem;line-height:1.25rem}
  .md\:text-lg{font-size:1.125rem;line-height:1.75rem}
  .md\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  .md\:mb-4{margin-bottom:1rem}
  .md\:mb-8{margin-bottom:2rem}
  .md\:p-8{padding:2rem}
  .md\:min-h-screen{min-height:100vh}
}