:root{--bg:#f6f8f7;--card:#fff;--ink:#14201b;--mute:#58675f;--line:#e0e6e2;--acc:#0f766e;--acc2:#e3f3f0;--glow:rgba(15,118,110,.16)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b110e;--card:#131c17;--ink:#e8efeb;--mute:#93a39a;--line:#233029;--acc:#4fd1c0;--acc2:#143029;--glow:rgba(79,209,192,.18)}}
:root[data-theme=dark]{--bg:#0b110e;--card:#131c17;--ink:#e8efeb;--mute:#93a39a;--line:#233029;--acc:#4fd1c0;--acc2:#143029;--glow:rgba(79,209,192,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;transition:background .3s,color .3s}
a{color:var(--acc);text-decoration:none}img{max-width:100%}
.w{max-width:1080px;margin:0 auto;padding:0 20px}
nav{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
nav .w{display:flex;justify-content:space-between;align-items:center;height:58px}nav b{color:var(--ink)}
nav div{display:flex;align-items:center}nav div a{margin-left:20px;color:var(--mute);font-size:14px;transition:color .2s}nav div a:hover{color:var(--acc)}
#tg{margin-left:18px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;width:36px;height:36px;cursor:pointer;font-size:16px;transition:transform .2s,box-shadow .2s}#tg:hover{box-shadow:0 0 0 4px var(--glow)}#tg:active{transform:scale(.92)}
.hero{padding:80px 0 40px;background:radial-gradient(700px 320px at 12% 0,var(--glow),transparent)}
.eye{color:var(--acc);font-weight:700;letter-spacing:.09em;text-transform:uppercase;font-size:12.5px}
h1{font-size:clamp(32px,6vw,56px);line-height:1.08;margin:12px 0 16px;letter-spacing:-.025em}
.lead{max-width:660px;color:var(--mute);font-size:18px;margin:0 0 24px}
.row{display:flex;flex-wrap:wrap;gap:10px}
.btn{padding:10px 18px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-weight:600;font-size:14px;transition:transform .15s,border-color .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);border-color:var(--acc);box-shadow:0 6px 18px var(--glow)}.btn:active{transform:scale(.96)}.btn.p{background:var(--acc);border-color:var(--acc);color:var(--bg)}
section{padding:44px 0}h2{font-size:27px;margin:0 0 6px;letter-spacing:-.015em}.sub{color:var(--mute);margin:0 0 24px}
.hl{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:34px}
.st,.hlc{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;display:block;color:var(--ink)}.st b,.hlc b{display:block;font-size:27px;color:var(--acc);line-height:1.2}.st span,.hlc span{color:var(--mute);font-size:13px}
.hlc small{display:block;font-weight:700;font-size:12px;letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px}
.strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chip{display:inline-flex;align-items:center;gap:7px;background:var(--acc2);color:var(--acc);border:1px solid transparent;border-radius:999px;padding:3px 12px 3px 6px;font-size:13px;margin:0 6px 7px 0;font-weight:500;transition:transform .2s,border-color .2s,box-shadow .2s}
.chip:hover{transform:translateY(-2px);border-color:var(--acc);box-shadow:0 0 14px var(--glow)}.chip img{width:18px;height:18px;background:#fff;border-radius:5px;padding:2px}.chip:not(:has(img)){padding-left:12px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}
.card,.hlc{transition:transform .15s ease-out,border-color .25s,box-shadow .25s;transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0))}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;color:var(--ink);height:100%}
.card:hover,.hlc:hover{--ty:-4px;border-color:var(--acc);box-shadow:0 14px 34px var(--glow);background:radial-gradient(320px circle at var(--mx,50%) var(--my,0),var(--glow),transparent 65%),var(--card)}
.th{height:170px;background:linear-gradient(135deg,var(--acc2),var(--glow));overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:44px}
.th img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .4s}.card:hover .th img{transform:scale(1.05)}
.cb{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}.cb h3{margin:0;font-size:18px;line-height:1.3}.cb p{margin:0;color:var(--mute);font-size:14.5px}
.tag{font-size:11.5px;color:var(--acc);font-weight:700;text-transform:uppercase;letter-spacing:.07em}.more{margin-top:auto;font-weight:600;font-size:14px;padding-top:6px}
.sk{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px}.sk>div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;transition:border-color .25s,box-shadow .25s}.sk>div:hover{border-color:var(--acc);box-shadow:0 8px 24px var(--glow)}.sk h3{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--mute)}
.certs{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px}
.cert{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;border-left:4px solid var(--acc);transition:box-shadow .25s}.cert:hover{box-shadow:0 10px 26px var(--glow)}.cert h3{margin:0;font-size:17px}
.cert small{display:block;color:var(--mute);margin:2px 0 8px}.cert .id{font:13px ui-monospace,Consolas,monospace;color:var(--mute);margin:8px 0}
.ct{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:34px;text-align:center}.ct .row{justify-content:center}
footer{padding:30px 0 50px;text-align:center;color:var(--mute);font-size:13px}
.crumb{padding:26px 0 0;font-size:14px}.ph{padding:14px 0 10px}.ph h1{font-size:clamp(28px,5vw,44px)}
.mx{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:24px 0}
.pg{display:grid;grid-template-columns:1fr 260px;gap:40px;padding-bottom:30px}.side{position:sticky;top:78px;align-self:start}.side h4{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--mute)}.side .btn{display:block;text-align:center;margin-bottom:8px}
.blk{margin-bottom:40px}.blk h2{font-size:22px;margin-bottom:14px}
.ft{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.ft div,.ch div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:15px;transition:border-color .2s,transform .2s}.ft div:hover{border-color:var(--acc);transform:translateY(-2px)}
.ch{display:grid;gap:10px}.ch div{border-left:4px solid var(--acc)}
.pipe{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:8px;align-items:stretch}.arw{display:flex;align-items:center;color:var(--acc);font-size:20px}
.stg{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px}.stg h4{margin:0 0 4px;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--acc);display:flex;gap:7px;align-items:center}.stg h4 i{font-style:normal;background:var(--acc);color:var(--bg);border-radius:50%;width:20px;height:20px;display:grid;place-items:center;flex:none}
.nd{background:var(--acc2);border-radius:9px;padding:7px 10px;font-size:13.5px;line-height:1.4}
.xb{overflow-x:auto;font-size:15px}.xb table{border-collapse:collapse;width:100%;font-size:14.5px}.xb th,.xb td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}.xb pre{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px;font-size:13px;margin:0}.xb ul,.xb ol{padding-left:20px;margin:0}.xb p{margin:0 0 10px}
.shots img{border:1px solid var(--line);border-radius:12px;margin-bottom:14px;display:block;transition:transform .25s}.shots img:hover{transform:scale(1.01)}
.pn{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:24px 0;flex-wrap:wrap}
.rv{opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s;transition-delay:var(--d,0ms)}.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}*{scroll-behavior:auto!important}.card,.hlc{transform:none!important}}
@media (max-width:860px){.pg{grid-template-columns:1fr}.side{position:static;order:-1}.pipe{grid-template-columns:1fr}.arw{justify-content:center;transform:rotate(90deg)}}
@media (max-width:600px){nav div a:nth-child(n+3){display:none}.grid{grid-template-columns:1fr}.hero{padding-top:52px}}
