:root{--navy:#0b1b33;--navy2:#13294b;--accent:#f59e0b;--ink:#1a2433;--muted:#5d6b7e;--bg:#f6f7fb;--card:#fff;--line:#e3e7ef}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;font:400 16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
h1,h2,h3{line-height:1.2;margin:0}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
.sec{padding:72px 22px}
h2{font-size:clamp(1.6rem,4vw,2.1rem);margin-bottom:28px;position:relative;padding-bottom:12px}
h2::after{content:"";position:absolute;left:0;bottom:0;width:48px;height:4px;border-radius:4px;background:var(--accent)}
.nav{position:sticky;top:0;z-index:10;background:rgba(11,27,51,.95);backdrop-filter:blur(8px)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{color:var(--navy);background:var(--accent);font-weight:800;text-decoration:none;padding:4px 10px;border-radius:8px}
.nav nav{display:flex;gap:22px;overflow-x:auto}
.nav nav a{color:#cbd5e1;text-decoration:none;font-size:.92rem;font-weight:500;white-space:nowrap}.nav nav a:hover{color:var(--accent)}
.hero{background:radial-gradient(circle at 85% 20%,#1e3a66 0,transparent 45%),linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:110px 0 96px}
.kicker{color:var(--accent);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.85rem;margin:0 0 12px}
.hero h1{font-size:clamp(2.6rem,8vw,4.6rem);letter-spacing:-.02em;font-weight:800}
.role{font-size:clamp(1.2rem,3vw,1.6rem);font-weight:600;color:#fde68a;margin:.4em 0}
.tag{max-width:60ch;color:#cbd5e1;font-size:1.1rem;margin:0 0 30px}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{font:inherit;cursor:pointer;display:inline-block;background:var(--accent);color:var(--navy);border:2px solid var(--accent);padding:12px 24px;border-radius:999px;font-weight:700;text-decoration:none;transition:transform .15s}
.btn:hover{transform:translateY(-2px)}.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.badges{list-style:none;padding:0;margin:32px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.badges li{border:1px solid rgba(255,255,255,.2);padding:5px 14px;border-radius:999px;font-size:.88rem;color:#e2e8f0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stat{background:var(--card);border-radius:16px;padding:26px 22px;box-shadow:0 6px 20px rgba(11,27,51,.07);border-top:4px solid var(--accent)}
.stat b{display:block;font-size:2rem;color:var(--navy);font-weight:800}.stat span{color:var(--muted);font-size:.95rem}
.band{background:#eef1f7}
.tl{list-style:none;margin:0;padding:0 0 0 28px;border-left:3px solid var(--line)}
.tl>li{position:relative;background:var(--card);border-radius:16px;padding:22px 24px;margin-bottom:20px;box-shadow:0 4px 14px rgba(11,27,51,.05)}
.tl>li::before{content:"";position:absolute;left:-38px;top:26px;width:15px;height:15px;border-radius:50%;background:var(--accent);border:3px solid #eef1f7}
.when{font-size:.85rem;font-weight:600;color:#b45309}.tl h3{font-size:1.2rem;margin:4px 0 2px;color:var(--navy)}
.org{color:var(--muted);margin:0 0 8px}.tl ul{margin:0;padding-left:20px}.tl ul li{margin:2px 0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px}
.card{background:var(--card);border-radius:16px;padding:24px;box-shadow:0 6px 20px rgba(11,27,51,.07);transition:transform .2s}.card:hover{transform:translateY(-4px)}
.card svg{width:44px;height:44px;padding:9px;border-radius:12px;background:var(--navy);stroke:var(--accent);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-bottom:14px}
.card h3{color:var(--navy);margin-bottom:6px}.card p{margin:0;color:var(--muted);font-size:.95rem}
.machines{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.mc{background:var(--card);border-radius:16px;overflow:hidden;box-shadow:0 6px 20px rgba(11,27,51,.07)}
.photo{aspect-ratio:16/9;display:grid;place-items:center;text-align:center;padding:16px;background:repeating-linear-gradient(45deg,#dfe4ee 0 12px,#e8ecf3 12px 24px);color:var(--muted);font-weight:600;font-size:.9rem}
.mb{padding:20px 22px}.mb p{margin:8px 0 0;color:var(--muted)}
.ph{background:#fff4c2;color:#7a5a00;padding:1px 6px;border-radius:5px;font-weight:600}
.two{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.list{list-style:none;margin:0;padding:0}
.list li{display:flex;justify-content:space-between;background:var(--card);padding:14px 18px;border-radius:12px;margin-bottom:10px;box-shadow:0 3px 10px rgba(11,27,51,.05)}
.list span{color:var(--muted)}
.contact{background:var(--navy);color:#fff;text-align:center}.contact h2::after{left:50%;transform:translateX(-50%)}
.contact p{color:#cbd5e1}.ph.big{display:inline-block;font-size:1.1rem;padding:10px 18px}
footer{background:#071326;color:#8b9bb4;text-align:center;padding:20px;font-size:.85rem}
@media(max-width:820px){.stats{grid-template-columns:1fr 1fr}.machines,.two{grid-template-columns:1fr}.nav nav{gap:16px}.nav nav a{font-size:.85rem}}
@media(max-width:560px){.hero{padding:64px 0 56px}.sec{padding:52px 4px}.nav nav{display:none}.stat b{font-size:1.6rem}.stats{gap:12px}.stat{padding:18px 14px}}
@media print{
  @page{size:A4;margin:10mm}
  .ph.big{font-size:10pt;padding:0}.contact .sec{display:flex;gap:10pt;align-items:baseline}.contact h2{margin:0}.contact p{margin:0}
  *{box-shadow:none!important}
  body{background:#fff;font-size:9.5pt;line-height:1.35;color:#000}
  .nav,.btns,.photo,#skills .card svg,footer,.contact p:first-of-type{display:none!important}
  .hero{background:none;color:#000;padding:0 0 6pt;border-bottom:2pt solid var(--navy)}
  .hero h1{font-size:22pt;color:var(--navy)}.role{color:#b45309;font-size:12pt;margin:2pt 0}.tag{color:#000;font-size:10pt;margin:0}.kicker{margin:0}
  .badges{margin:4pt 0 0}.badges li{border-color:#999;color:#000;padding:1pt 8pt}
  .sec{padding:4pt 0}.wrap{padding:0;max-width:none}.band,.contact{background:none;color:#000;text-align:left}.contact p{color:#000}
  h2{font-size:12pt;margin-bottom:6pt;padding-bottom:3pt}h2::after{height:2pt;width:30pt}.contact h2::after{left:0;transform:none}
  .stats{grid-template-columns:repeat(4,1fr);gap:6pt}.stat{padding:4pt 6pt;border:1px solid #ccc}.stat b{font-size:12pt}.stat span{font-size:8.5pt}
  .tl{padding-left:12pt}.tl>li{padding:3pt 6pt;margin-bottom:4pt}.tl>li::before{left:-19pt;top:6pt;width:9pt;height:9pt}.tl h3{font-size:10.5pt}
  .cards{grid-template-columns:repeat(5,1fr);gap:6pt}.card{padding:4pt 6pt;border:1px solid #ddd}.card h3{font-size:9.5pt}.card p{font-size:8.5pt}
  .machines{grid-template-columns:1fr 1fr!important;gap:6pt}.mc{border:1px solid #ddd}.mb{padding:4pt 6pt}
  .two{grid-template-columns:1fr 1fr!important;gap:12pt}.list li{padding:2pt 6pt;margin-bottom:2pt}
  .ph{background:none;color:#000;padding:0}section{break-inside:avoid}
}

/* gallery */
.more{margin:28px 0 0;text-align:center}.btn.dark{background:var(--navy);color:#fff;border-color:var(--navy)}
.hero.small{padding:72px 0 56px}.nav nav a[aria-current]{color:var(--accent)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.g-item{position:relative;padding:0;border:0;border-radius:14px;overflow:hidden;cursor:zoom-in;background:#dfe4ee;aspect-ratio:4/3;box-shadow:0 6px 20px rgba(11,27,51,.08)}
.g-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.g-item:hover img{transform:scale(1.05)}
.g-cap{position:absolute;left:0;right:0;bottom:0;padding:24px 12px 10px;color:#fff;font-size:.9rem;text-align:left;background:linear-gradient(transparent,rgba(11,27,51,.85))}
.empty{text-align:center;padding:56px 20px;background:var(--card);border:2px dashed var(--line);border-radius:18px;max-width:560px;margin:0 auto}
.empty svg{width:64px;height:64px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.empty h2{margin:12px 0 8px;padding:0}.empty h2::after{display:none}.empty p{color:var(--muted);margin:0}
.lb{position:fixed;inset:0;z-index:50;background:rgba(5,12,24,.92);display:flex;align-items:center;justify-content:center;padding:20px}
.lb[hidden],.empty[hidden]{display:none}
.lb figure{margin:0;max-width:92vw;text-align:center}.lb img{max-width:92vw;max-height:80vh;border-radius:10px}
.lb figcaption{color:#e2e8f0;margin-top:10px}
.lb button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;width:46px;height:46px;border-radius:50%;font-size:1.8rem;cursor:pointer;line-height:1}
.lb button:hover{background:var(--accent);color:var(--navy)}
.lb-x{top:16px;right:16px}.lb-prev{left:12px;top:50%}.lb-next{right:12px;top:50%}
@media print{.more,.gallery-page .gallery,.gallery-page .empty,.lb{display:none!important}}
.big-note{font-size:1.1rem;color:#fde68a!important}@media print{.big-note{color:#000!important;margin:0}}
