:root{--bg-primary:#fff;--text-primary:#000;--text-secondary:#333;--border-heavy:#000;--border-light:#ccc;--grid-line:1px solid var(--border-heavy);--grid-line-light:1px solid var(--border-light);--accent-primary:#c41e3a}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{color:var(--text-primary);text-transform:uppercase;font-weight:500;line-height:1.1}h1{letter-spacing:-.02em;margin-bottom:0;font-size:clamp(3rem,8vw,8rem)}h2{letter-spacing:-.01em;margin-bottom:1rem;font-size:clamp(2rem,5vw,4rem);font-weight:500}h3{font-size:1.5rem;font-weight:600}p{color:var(--text-secondary);margin-bottom:1rem;font-size:1.1rem;font-weight:400}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 1rem}.section{border-bottom:var(--grid-line);background-color:var(--bg-primary);padding:2rem 0;position:relative}.print-border-top{border-top:var(--grid-line)}.print-border-bottom{border-bottom:var(--grid-line)}.print-border-left{border-left:var(--grid-line)}.print-border-right{border-right:var(--grid-line)}.print-grid{grid-template-columns:repeat(12,1fr);gap:0;display:grid}.print-col-3{grid-column:span 3}.print-col-4{grid-column:span 4}.print-col-6{grid-column:span 6}.print-col-8{grid-column:span 8}.print-col-9{grid-column:span 9}.print-col-12{grid-column:span 12}.news-block{background:var(--bg-primary);border:none;border-right:var(--grid-line);border-bottom:var(--grid-line);height:100%;padding:1.5rem}.news-block:last-child{border-right:none}.btn{cursor:pointer;text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary);border:1px solid var(--text-primary);background:0 0;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn:hover,.btn-primary{background:var(--text-primary);color:var(--bg-primary)}.btn-primary:hover{background:var(--bg-primary);color:var(--text-primary)}.solid-card{border:var(--grid-line);padding:1rem}.solid-card:hover{background:#f9f9f9}.badge{border:1px solid var(--border-heavy);text-transform:uppercase;padding:.25rem .5rem;font-size:.8rem}.navbar{background:var(--bg-primary);border-bottom:var(--grid-line)}.desktop-only{display:block}.mobile-toggle{display:none}@keyframes animate-pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.animate-pulse{animation:2s ease-in-out infinite animate-pulse}@keyframes animate-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.6s ease-out forwards animate-fade-in}.grid-hero{grid-template-columns:200px 1fr 1fr;gap:0;display:grid}.grid-2{grid-template-columns:1fr 1fr;gap:0;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr;gap:0;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:0;display:grid}.grid-cv-exp{grid-template-columns:250px 1fr;gap:2rem;display:grid}.grid-contact{grid-template-columns:60% 1fr;gap:0;display:grid}.grid-contact-form{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.grid-blog-item{grid-template-columns:120px 1fr auto;gap:2rem;display:grid}.border-r-mobile-b{border-right:var(--grid-line)}@media (width<=768px){.desktop-only{display:none!important}.mobile-toggle{display:block!important}.container{padding:0 1rem}.print-grid,.grid-hero,.grid-2,.grid-3,.grid-4,.grid-cv-exp,.grid-contact,.grid-contact-form,.grid-blog-item{flex-direction:column!important;display:flex!important}.grid-cv-exp{gap:1rem}.grid-blog-item{gap:.75rem}.news-block{border-right:none}.border-r-mobile-b{border-bottom:var(--grid-line);margin-bottom:0;border-right:none!important;padding-bottom:1.5rem!important}h1{font-size:1.5rem!important}h2{font-size:1.75rem!important}h3{font-size:1.1rem!important}.btn{justify-content:center;width:100%}}@media print{footer,.navbar,.btn,.no-print,.mobile-toggle{display:none!important}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.animate-marquee{animation:30s linear infinite marquee}.animate-marquee:hover{animation-play-state:paused}
