:root { color-scheme: dark; --bg: #0b0e14; --fg: #edf2f7; --muted: #9daab8; --line: rgba(188,209,231,.13); --accent: #a7c9ee; --accent2:#d6e8f8; --width: 1260px; }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 110px; }
    body { margin:0; color:var(--fg); background:var(--bg); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
    a { color:inherit; text-decoration:none; }
    a:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
    ::selection { background:#a7c9ee; color:#0b0e14; }
    .shell { width:min(calc(100% - 104px), var(--width)); margin-inline:auto; }
    .page { position:relative; min-height:100vh; isolation:isolate; overflow:clip; }
    .page:before { content:""; pointer-events:none; position:absolute; z-index:-1; width:850px; height:850px; right:-320px; top:-160px; border-radius:50%; background:radial-gradient(circle, rgba(69,111,156,.17), rgba(48,78,116,.07) 39%, transparent 68%); }
    .page:after { content:""; pointer-events:none; position:absolute; z-index:-1; width:620px; height:620px; left:-280px; bottom:-240px; border-radius:50%; background:radial-gradient(circle, rgba(105,145,186,.10), transparent 70%); }
    header { display:flex; position:sticky; top:0; z-index:100; align-items:center; justify-content:space-between; gap:30px; min-height:92px; border-bottom:1px solid var(--line); background:rgba(11,14,20,.94); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
    #home, #expertise, #projects { scroll-margin-top:110px; }
    .identity { display:inline-flex; gap:13px; align-items:center; white-space:nowrap; }
    .monogram { display:grid; place-items:center; width:37px; height:39px; border:0; flex:none; font-size:21px; letter-spacing:-.1em; font-weight:750; color:var(--accent); }
    .brand { font-size:13px; letter-spacing:.015em; font-weight:650; }
    .domain { display:block; color:#718296; font-weight:450; font-size:11px; margin-top:2px; letter-spacing:.045em; }
    nav { display:flex; align-items:center; gap:34px; font-size:13px; color:#a9b6c6; }
    nav a { display:inline-flex; align-items:center; justify-content:center; transition:color .2s ease; }
    nav a:hover, .text-link:hover { color:white; }
    .nav-contact { color:#d3e4f5; min-height:44px; padding:0 0 0 2px; white-space:nowrap; line-height:1.2; border-bottom:1px solid rgba(169,199,229,.30); }
    .nav-contact:hover { border-color:var(--accent); color:#fff; }
    .hero { min-height:640px; display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:60px; padding-block:105px 115px; position:relative; }
    .eyebrow, .section-label { text-transform:uppercase; letter-spacing:.20em; font-weight:600; font-size:11px; }
    .eyebrow { color:var(--accent); display:flex; align-items:center; gap:13px; }
    .eyebrow:before { content:""; width:24px; height:1px; background:var(--accent); }
    h1 { font-size:clamp(55px, 6.1vw, 90px); letter-spacing:-.074em; font-weight:570; line-height:1.02; margin:31px 0 38px; }
    h1 .surname { white-space:nowrap; }
    .lead { max-width:625px; font-size:clamp(20px, 2vw, 25px); line-height:1.5; letter-spacing:-.027em; color:#d2dde8; font-weight:400; margin:0 0 20px; }
    .intro { max-width:610px; color:var(--muted); font-size:15px; line-height:1.9; margin:0; }
    .intro strong { color:#cdd8e4; font-weight:550; }
    .hero-actions { margin-top:40px; display:flex; align-items:center; gap:27px; flex-wrap:wrap; }
    .button { display:inline-flex; gap:18px; align-items:center; justify-content:space-between; min-height:54px; padding:7px 8px 7px 19px; border:1px solid rgba(167,201,238,.36); border-radius:7px; background:rgba(167,201,238,.035); color:#e2edf8; font-size:13px; line-height:1.3; font-weight:600; text-align:center; vertical-align:middle; transition:background .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease; }
    .button:hover { background:rgba(167,201,238,.09); border-color:rgba(167,201,238,.75); color:#fff; box-shadow:0 0 0 1px rgba(167,201,238,.05) inset; }
    .button-label { display:block; flex:1; }
    .button-icon { display:grid; place-items:center; flex:none; width:32px; height:32px; border:0; border-radius:50%; background:rgba(167,201,238,.06); color:var(--accent); transition:background-color .22s ease; }
    .button-icon svg { display:block; width:16px; height:16px; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; fill:none; }
    .button:hover .button-icon, .button:focus-visible .button-icon { background:rgba(167,201,238,.13); }
    .button:focus-visible { outline:2px solid #d6e8f8; outline-offset:4px; }
    .text-link { font-size:13px; color:#b2bdc9; padding-bottom:5px; border-bottom:1px solid #546273; transition:color .22s ease, border-color .22s ease; }
    .text-link:hover { color:#fff; border-color:#c1d8f0; }
    .hero-art { position:relative; height:450px; display:grid; place-items:center; }
    .orbital-scene { position:relative; width:min(36vw, 460px); aspect-ratio:1; border-radius:50%; }
    .core-glow { position:absolute; inset:26%; border-radius:50%; background:radial-gradient(circle, rgba(167,201,238,.16), rgba(167,201,238,.04) 52%, transparent 70%); filter:blur(6px); animation:pulse 4.6s ease-in-out infinite; }
    .ring, .ring-2, .ring-3 { position:absolute; inset:0; border-radius:50%; border:1px solid rgba(157,190,224,.16); }
    .ring-2 { inset:9%; border-color:rgba(157,190,224,.11); animation:spin 30s linear infinite reverse; }
    .ring-3 { inset:21%; border-color:rgba(157,190,224,.09); animation:spin 20s linear infinite; }
    .ring { animation:spin 42s linear infinite; }
    .ring:before, .ring:after, .ring-2:before, .ring-3:before { content:""; position:absolute; width:8px; height:8px; border-radius:50%; background:#cbe0f5; box-shadow:0 0 16px rgba(203,224,245,.75); }
    .ring:before { top:15%; right:7%; }
    .ring:after { bottom:14%; left:9%; width:5px; height:5px; opacity:.8; }
    .ring-2:before { top:50%; left:-4px; width:6px; height:6px; }
    .ring-3:before { bottom:6%; right:32%; width:4px; height:4px; }
    .arc, .arc-2 { position:absolute; inset:0; border-radius:50%; border:1px solid transparent; }
    .arc { border-top-color:#9bbddd; border-right-color:rgba(155,189,221,.3); filter:drop-shadow(0 0 14px rgba(165,204,238,.14)); animation:spin 29s linear infinite; }
    .arc-2 { inset:14%; border-bottom-color:rgba(201,226,247,.48); border-left-color:rgba(201,226,247,.14); animation:spin 41s linear infinite reverse; }
    .network-svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
    .network-svg line { stroke:rgba(185,213,240,.16); stroke-width:.85; stroke-dasharray:3 12; animation:link-flow 18s linear infinite; }
    .network-svg circle { fill:#bddbf5; opacity:.6; animation:node-breathe 5s ease-in-out infinite; }
    .network-svg circle:nth-of-type(2) { animation-delay:-1.4s; }
    .network-svg circle:nth-of-type(3) { animation-delay:-2.7s; }
    .network-svg circle:nth-of-type(4) { animation-delay:-3.8s; }
    .network-svg circle:nth-of-type(5) { animation-delay:-1.8s; }
    .network-svg circle:nth-of-type(6) { animation-delay:-4.3s; }
    .network-svg .network-core { fill:rgba(194,223,249,.25); animation:none; }
    .network-svg .link-star { fill:rgba(196,222,248,.7); filter:drop-shadow(0 0 4px rgba(180,213,243,.75)); }
    .scanner { position:absolute; inset:6%; border-radius:50%; background:conic-gradient(from 0deg, transparent 0 78%, rgba(180,213,242,.20) 84%, transparent 88%); filter:blur(1px); animation:spin 10s linear infinite; opacity:.6; }
    .art-type { position:absolute; inset:0; display:grid; place-items:center; font-size:clamp(112px, 12vw, 177px); color:rgba(189,211,233,.12); font-weight:500; letter-spacing:-.105em; transform:translateX(-9px); user-select:none; }
    .signal { position:absolute; inset:0; display:grid; place-items:center; }
    .signal:before, .signal:after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(173,205,236,.10); animation:signal 5.4s ease-out infinite; }
    .signal:before { width:43%; height:43%; }
    .signal:after { width:43%; height:43%; animation-delay:2.7s; }
    .coordinate { position:absolute; left:0; bottom:18px; font-size:10px; letter-spacing:.17em; text-transform:uppercase; color:#6e849c; font-family:ui-monospace, monospace; }
    .label-ai { position:absolute; top:7%; left:8%; color:#7f95ac; font-size:10px; letter-spacing:.17em; text-transform:uppercase; font-family:ui-monospace, monospace; }
    .section { border-top:1px solid var(--line); padding-block:55px 74px; }
    .section-title { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:28px; }
    .section-label { color:#95abc2; margin:0; }
    .section-side { color:#63788d; font-size:12px; }
    .three { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
    .feature { border:1px solid var(--line); background:linear-gradient(145deg, rgba(196,219,243,.04), rgba(196,219,243,.012)); padding:29px 28px 34px; min-height:185px; }
    .feature .number { color:#7188a0; font-size:11px; font-family:ui-monospace, monospace; }
    .feature h3 { margin:30px 0 12px; font-size:19px; font-weight:560; letter-spacing:-.035em; }
    .feature p { color:#91a2b4; margin:0; font-size:13px; line-height:1.7; max-width:320px; }
    .projects { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
    .project { border:1px solid var(--line); padding:30px 34px; min-height:208px; display:flex; flex-direction:column; justify-content:center; gap:22px; text-align:left; transition:background .2s, border-color .2s; }
    .project:hover { background:rgba(191,213,232,.045); border-color:rgba(191,213,232,.35); }
    .project-top { display:flex; justify-content:space-between; align-items:center; min-height:26px; }
    .project-top span { color:#8598ab; font-size:11px; letter-spacing:.11em; text-transform:uppercase; }
    .project-top b { font-size:22px; font-weight:400; color:var(--accent); }
    .project-content { display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
    .project strong { font-size:clamp(26px,3vw,38px); font-weight:550; letter-spacing:-.05em; }
    .project small { color:#94a4b5; font-size:13px; line-height:1.65; margin:0; display:block; }
    .closing { display:flex; justify-content:space-between; align-items:center; gap:30px; padding-block:63px 70px; }
    .closing h2 { font-size:clamp(26px,3vw,42px); letter-spacing:-.052em; font-weight:540; margin:0 0 11px; }
    .closing p { color:var(--muted); font-size:14px; margin:0; }
    footer { min-height:79px; display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); color:#738498; font-size:11px; gap:20px; }
    footer span:last-child { color:#9caec0; }
    @keyframes spin { to { transform:rotate(360deg); } }
    @keyframes pulse { 0%,100%{ opacity:.55; transform:scale(.98);} 50%{ opacity:1; transform:scale(1.04);} }
    @keyframes signal { 0%{ transform:scale(.9); opacity:0;} 15%{ opacity:.45;} 85%{ opacity:0;} 100%{ transform:scale(1.95); opacity:0;} }
    @keyframes link-flow { to { stroke-dashoffset:-150; } }
    @keyframes node-breathe { 0%,100% { opacity:.32; } 50% { opacity:.9; } }
    @media (max-width:1100px) { .hero { gap:20px; } .hero-art { opacity:.7; } }
    @media (min-width:761px) and (max-width:950px) {
      .hero { grid-template-columns:1fr; min-height:0; gap:16px; padding-block:90px 75px; }
      .hero-art { height:380px; opacity:.7; }
      .orbital-scene { width:360px; }
      .art-type { font-size:148px; }
      .coordinate { left:50%; transform:translateX(-50%); white-space:nowrap; }
    }
    @media (max-width:760px) {
      .shell { width:min(calc(100% - 40px), var(--width)); }
      header { min-height:78px; } nav { gap:14px; } nav a:not(.nav-contact) { display:none; }
      html { scroll-padding-top:92px; } #home, #expertise, #projects { scroll-margin-top:92px; }
      .nav-contact { min-height:40px; padding:0 2px; }
      .hero { display:block; min-height:0; padding:83px 0 95px; }
      h1 { font-size:clamp(35px, 10.2vw, 66px); margin:27px 0 30px; }
      .lead { font-size:21px; }
      .intro { font-size:14px; line-height:1.8; }
      .hero-art { display:grid; height:295px; margin-top:38px; opacity:.87; }
      .orbital-scene { width:min(70vw, 286px); }
      .art-type { font-size:112px; }
      .label-ai { left:-2%; top:0; font-size:8px; }
      .coordinate { left:50%; bottom:-2px; transform:translateX(-50%); font-size:8px; letter-spacing:.09em; white-space:nowrap; }
      .three { grid-template-columns:1fr; gap:9px; }
      .feature { min-height:0; padding:22px 24px 25px; }
      .feature h3 { margin:18px 0 8px; }
      .projects { grid-template-columns:1fr; gap:9px; }
      .project { min-height:185px; padding:24px; gap:17px; }
      .section { padding-block:35px 50px; }
      .section-title { flex-wrap:wrap; }
      .closing { display:block; padding-block:52px 60px; }
      .closing .button { margin-top:24px; }
      footer { align-items:flex-start; padding-block:27px; }
    }
    @media (max-width:370px) {
      .brand { font-size:11px; } .nav-contact { font-size:11px; padding:0 2px; min-height:40px; }
      .identity { gap:8px; } .monogram { width:30px; height:34px; font-size:19px; }
      .coordinate { font-size:7px; letter-spacing:.04em; }
    }
    @media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition:none!important; animation:none!important; } }

.notfound { min-height: 100vh; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:20px; }
.notfound-title { font-size:clamp(42px,7vw,80px); margin:0; }

@media (max-width:370px) { .button { gap:10px; padding-left:13px; } .button-icon { width:32px; height:32px; } }
