*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}ul{list-style:none}img{display:block;max-width:100%}:root{--bg: #07090f;--surface: #0d1117;--surface2: #111827;--border: rgba(148,163,184,.1);--border-hi: rgba(148,163,184,.24);--text: #d1d9e6;--muted: #64748b;--accent: #7fa8c9;--gold: #c8a458;--tag-bg: rgba(127,168,201,.07);--radius: 10px;--font-head: "Barlow Condensed", sans-serif;--font-body: "DM Sans", sans-serif;--card-img-h: 240px}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.65;min-height:100vh;background-image:linear-gradient(rgba(127,168,201,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(127,168,201,.02) 1px,transparent 1px);background-size:40px 40px}a{color:var(--accent);text-decoration:none}a:hover{color:var(--gold)}.app-shell{display:flex;flex-direction:column;min-height:100vh}.page{flex:1;width:100%;max-width:1140px;margin:0 auto;padding:0 20px 64px}.site-header{border-bottom:1px solid var(--border);padding:36px 0 28px}.header-inner{max-width:1140px;margin:0 auto;padding:0 20px 0 32px;position:relative}.header-inner:before{content:"";position:absolute;left:20px;top:0;width:3px;height:100%;background:linear-gradient(to bottom,var(--gold),var(--accent));border-radius:2px}.header-name{display:block;font-family:var(--font-head);font-size:clamp(28px,5vw,52px);font-weight:700;letter-spacing:.03em;line-height:1;color:#e8eef5;margin-bottom:4px;text-decoration:none}.header-name:hover{color:#fff}.header-role{font-family:var(--font-head);font-size:clamp(11px,1.6vw,15px);font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}.contacts{display:flex;flex-wrap:wrap;gap:8px}.contact-link{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border:1px solid var(--border-hi);border-radius:100px;font-size:13px;color:var(--text);background:var(--surface);transition:border-color .2s,color .2s,background .2s;text-decoration:none;white-space:nowrap}.contact-link:hover{border-color:var(--gold);color:var(--gold);background:#c8a4580f}.section{padding:36px 0 0}.section-label{font-family:var(--font-head);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:20px;display:flex;align-items:center;gap:12px}.section-label:after{content:"";flex:1;height:1px;background:var(--border)}.projects-grid{display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}@media (max-width: 960px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 580px){.projects-grid{grid-template-columns:1fr}}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:border-color .25s,transform .25s,box-shadow .25s}.project-card:hover{border-color:var(--border-hi);transform:translateY(-3px);box-shadow:0 16px 40px #00000073}.card-link{display:flex;flex-direction:column;flex:1;text-decoration:none;color:inherit}.card-media{position:relative;width:100%;height:var(--card-img-h);background:#0a0e18;overflow:hidden;flex-shrink:0}.card-media img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .4s ease}.project-card:hover .card-media img{transform:scale(1.04)}.year-badge{position:absolute;top:10px;left:10px;background:#07090fd1;border:1px solid var(--border);color:var(--muted);font-family:var(--font-head);font-size:11px;letter-spacing:.1em;padding:3px 10px;border-radius:3px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}.card-title{font-family:var(--font-head);font-size:17px;font-weight:600;color:#e8eef5;line-height:1.25;margin-bottom:7px}.card-summary{font-size:13px;color:var(--muted);line-height:1.55;margin-bottom:12px;flex:1}.card-cta{display:inline-block;font-family:var(--font-head);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-top:8px;transition:color .2s}.project-card:hover .card-cta{color:var(--gold)}.tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.tag{font-family:var(--font-head);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--tag-bg);border:1px solid rgba(127,168,201,.14);padding:2px 8px;border-radius:3px}.back-link{font-family:var(--font-head);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s}.back-link:hover{color:var(--gold)}.hero-title{font-family:var(--font-head);font-size:clamp(22px,4vw,38px);font-weight:700;color:#e8eef5;line-height:1.15;margin:10px 0}.lead{font-size:15px;color:var(--muted);line-height:1.6;max-width:720px;margin-bottom:22px}.detail-media{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:#0a0e18;margin-bottom:16px;width:100%;aspect-ratio:16/9;max-height:520px}.detail-media img,.detail-media model-viewer{width:100%;height:100%;object-fit:cover;display:block}.gallery-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-bottom:20px}.gallery-item{display:block;border-radius:8px;overflow:hidden;border:1px solid var(--border);transition:border-color .2s;aspect-ratio:4/3;background:#0a0e18}.gallery-item:hover{border-color:var(--border-hi)}.gallery-item img{width:100%;height:100%;object-fit:cover;object-position:center}.detail-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px 24px}.detail-heading{font-family:var(--font-head);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.detail-desc{font-size:14.5px;color:#94a3b8;line-height:1.75}.btn-ghost{display:inline-block;padding:8px 20px;border:1px solid var(--border-hi);border-radius:6px;font-family:var(--font-head);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--text);text-decoration:none;transition:border-color .2s,color .2s}.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}.site-footer{border-top:1px solid var(--border);padding:22px 20px;text-align:center;color:var(--muted);font-size:12px;letter-spacing:.06em;margin-top:40px}@media (max-width: 580px){:root{--card-img-h: 200px}.contact-link{font-size:12px;padding:5px 11px}.detail-media{aspect-ratio:4/3}.gallery-grid{grid-template-columns:repeat(2,1fr)}}.card-badges{position:absolute;top:10px;left:10px;display:flex;gap:6px;flex-wrap:wrap}.year-badge{background:#07090fd1;border:1px solid var(--border);color:var(--muted);font-family:var(--font-head);font-size:11px;letter-spacing:.1em;padding:3px 10px;border-radius:3px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.concept-badge{background:#c8a45826;border:1px solid rgba(200,164,88,.35);color:var(--gold);font-family:var(--font-head);font-size:11px;letter-spacing:.1em;padding:3px 10px;border-radius:3px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.drawings-list{display:flex;flex-direction:column;gap:16px}.drawing-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px 24px;display:flex;gap:20px;align-items:flex-start;transition:border-color .2s,transform .2s,box-shadow .2s}.drawing-block:hover{border-color:var(--border-hi);transform:translateY(-2px);box-shadow:0 10px 32px #00000059}.drawing-number{font-family:var(--font-head);font-size:28px;font-weight:700;color:var(--border-hi);line-height:1;min-width:36px;padding-top:2px}.drawing-content{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex:1}.drawing-info{flex:1}.drawing-title{font-family:var(--font-head);font-size:18px;font-weight:600;color:#e8eef5;margin-bottom:8px;line-height:1.25}.drawing-desc{font-size:13.5px;color:var(--muted);line-height:1.6;margin-bottom:12px;max-width:560px}.drawing-meta{display:flex;gap:6px;flex-wrap:wrap}.drawing-open-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:1px solid var(--border-hi);border-radius:8px;font-family:var(--font-head);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);text-decoration:none;white-space:nowrap;flex-shrink:0;align-self:center;transition:border-color .2s,color .2s,background .2s}.drawing-open-btn:hover{border-color:var(--gold);color:var(--gold);background:#c8a4580f}@media (max-width: 640px){.drawing-block{flex-direction:column;gap:14px}.drawing-content{flex-direction:column}.drawing-open-btn{width:100%;justify-content:center}.drawing-number{font-size:22px}}
