:root {--font:'Plus Jakarta Sans', sans-serif; --bg:#ffffff; --bg-tint:#f0f9ff; --text:#0f172a; --text-muted:#64748b; --primary:#0284c7; --primary-hover:#0369a1; --primary-soft:#e0f2fe; --navy:#0f172a; --navy-hover:#1e293b; --border:#e2e8f0; --white:#ffffff; --radius:12px; --radius-sm:8px; --shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1); --shadow-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1); --transition:0.2s ease;}
* {box-sizing:border-box; margin:0; padding:0;}
body {font-family:var(--font); background:var(--bg); color:var(--text); line-height:1.5; -webkit-font-smoothing:antialiased; display:flex; flex-direction:column; min-height:100vh; min-height:100dvh;}
main {flex:1 0 auto;}
@keyframes slide-in-left {from {opacity:0; translate:-48px 0;} to {opacity:1; translate:0 0;}}
@keyframes anim-failsafe {to {visibility:visible;}}
.anim {animation:slide-in-left .7s cubic-bezier(.22,1,.36,1) backwards; animation-delay:calc(var(--i,0) * 60ms);}
body:not(.anim-ready) > * {visibility:hidden; animation:anim-failsafe 0s 4s forwards;}
@media (prefers-reduced-motion:reduce) {.anim {animation:none;} body:not(.anim-ready) > * {visibility:visible; animation:none;}}
body {overflow-x:clip;}
a {text-decoration:none; color:inherit;}
ul {list-style:none;}
img {max-width:100%; height:auto; display:block;}
.container {width:100%; max-width:1200px; margin:0 auto; padding:0 24px;}
.site-header {position:sticky; top:0; background:rgba(255, 255, 255, 0.9); backdrop-filter:blur(8px); border-bottom:1px solid var(--border); z-index:100;}
.header-inner {display:flex; align-items:center; justify-content:space-between; height:72px;}
.brand {display:flex; align-items:center; gap:12px; font-weight:800; font-size:1.25rem; color:var(--navy);}
.brand-mark {display:flex; align-items:center; justify-content:center; width:40px; height:40px; background:var(--primary); color:var(--white); border-radius:var(--radius-sm);}
.nav-toggle {display:none;}
.nav-burger {display:none; cursor:pointer; padding:8px;}
.nav-list {display:flex; align-items:center; gap:32px;}
.nav-link {font-weight:600; color:var(--text-muted); transition:var(--transition); display:flex; align-items:center; gap:4px;}
.nav-link:hover, .nav-link.active {color:var(--primary);}
.has-menu {position:relative;}
.menu {position:absolute; top:100%; left:0; background:var(--white); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow-lg); min-width:220px; opacity:0; visibility:hidden; transform:translateY(10px); transition:var(--transition); padding:8px 0;}
.has-menu:hover .menu {opacity:1; visibility:visible; transform:translateY(0);}
.menu a {display:flex; align-items:center; gap:12px; padding:10px 20px; color:var(--text); font-weight:500; transition:var(--transition);}
.menu a:hover {background:var(--bg-tint); color:var(--primary);}

@media (max-width: 768px) {
.nav-burger {display:block;}
.nav {position:absolute; top:72px; left:0; right:0; background:var(--white); border-bottom:1px solid var(--border); padding:24px; display:none;}
.nav-toggle:checked ~ .nav {display:block;}
.nav-list {flex-direction:column; align-items:flex-start; gap:16px;}
.menu {position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:none; padding-left:16px; display:none;}
.has-menu.open .menu {display:block;}
}

.btn {display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 24px; border-radius:var(--radius-sm); font-weight:600; cursor:pointer; border:none; transition:var(--transition); font-family:inherit; font-size:1rem;}
.btn-primary {background:var(--primary); color:var(--white);}
.btn-primary:hover {background:var(--primary-hover);}
.btn-soft {background:var(--primary-soft); color:var(--primary);}
.btn-soft:hover {background:#bae6fd;}
.btn-navy {background:var(--navy); color:var(--white);}
.btn-navy:hover {background:var(--navy-hover);}
.btn-block {width:100%;}
.hero {padding:48px 0; background:linear-gradient(135deg, var(--bg-tint) 0%, var(--white) 100%);}
.hero-inner {display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:center;}
.eyebrow {display:inline-flex; align-items:center; gap:8px; background:var(--white); padding:6px 12px; border-radius:20px; font-size:0.875rem; font-weight:700; color:var(--primary); border:1px solid var(--border); margin-bottom:24px;}
.hero h1 {font-size:3.5rem; font-weight:800; line-height:1.1; color:var(--navy); margin-bottom:24px;}
.hero h1 em {color:var(--primary); font-style:normal;}
.hero .lead {font-size:1.25rem; color:var(--text-muted); margin-bottom:32px;}
.hero-perks {display:flex; flex-direction:column; gap:12px; margin-bottom:32px;}
.hero-perks li {display:flex; align-items:center; gap:12px; font-weight:600;}
.hero-perks i {color:var(--primary);}
.hero-cta {display:flex; gap:16px; margin-bottom:16px; flex-wrap:wrap;}
.fine-print {font-size:0.75rem; color:var(--text-muted);}
.hero-visual {display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.hero-visual .tile {background:var(--white); border:1px solid var(--border); border-radius:var(--radius); aspect-ratio:1; display:flex; align-items:center; justify-content:center; font-size:3rem; color:var(--primary); box-shadow:var(--shadow);}
.hero-visual .tile:nth-child(2) {transform:translateY(24px);}
.hero-visual .tile:nth-child(4) {transform:translateY(24px);}
#promoBanner[style*="background-image"] :is(h1,.lead,.hero-perks li,.fine-print) {-webkit-text-stroke:2px #fff; paint-order:stroke fill; text-shadow:0 0 6px rgba(255,255,255,0.6);}
#promoBanner[style*="background-image"] :is(.lead,.fine-print) {color:var(--navy);}
#promoBanner[style*="background-image"] .hero-perks svg {filter:drop-shadow(0 0 3px rgba(255,255,255,0.8));}
.hero--banner {position:relative; background-color:var(--white); padding-bottom:20px;}
.hero--banner .hero-inner {grid-template-columns:1fr;}
.hero--banner .hero-inner>div:first-child>:not(.hero-cta) {position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
.hero--banner .hero-cta {margin:0;}
.hero--banner .hero-visual {display:none;}
.section {padding:24px 0;}
.section--tint {background:var(--bg-tint);}
.section-head {display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:32px;}
.section-head h2 {font-size:2rem; font-weight:800; color:var(--navy); margin-bottom:8px;}
.section-head p {color:var(--text-muted);}
.link-more {display:inline-flex; align-items:center; gap:8px; font-weight:600; color:var(--primary);}
.link-more:hover {gap:12px;}
.perks {display:grid; grid-template-columns:repeat(4, 1fr); gap:24px;}
.perk {text-align:center; padding:32px 24px; background:var(--white); border-radius:var(--radius); border:1px solid var(--border); box-shadow:var(--shadow);}
.perk .ico {display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; background:var(--primary-soft); color:var(--primary); border-radius:50%; margin-bottom:16px;}
.perk h3 {margin-bottom:8px; font-size:1.25rem; color:var(--navy);}
.perk p {color:var(--text-muted); font-size:0.875rem;}
.cats {display:grid; grid-template-columns:repeat(5, 1fr); gap:24px;}
.cat {display:flex; flex-direction:column; align-items:center; gap:16px; padding:24px; background:var(--white); border-radius:var(--radius); border:1px solid var(--border); transition:var(--transition);}
.cat:hover {border-color:var(--primary); box-shadow:var(--shadow); transform:translateY(-4px);}
.cat .ico {width:48px; height:48px; background:var(--bg-tint); display:flex; align-items:center; justify-content:center; border-radius:50%; color:var(--primary);}
.grid-products {display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:24px;}
.product {background:var(--white); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; transition:var(--transition);}
.product:hover {box-shadow:var(--shadow-lg); border-color:var(--primary);}
.product-media {background:var(--white); aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; color:var(--primary); position:relative; font-size:2.5rem; overflow:hidden;}
.product-media img {position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:12px; box-sizing:border-box;}
.product-cat {display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.product-name {white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.badge {position:absolute; top:12px; left:12px; background:var(--primary); color:var(--white); font-size:0.75rem; font-weight:700; padding:4px 8px; border-radius:4px;}
.product-body {padding:20px;}
.product-cat {font-size:0.75rem; font-weight:700; color:var(--primary); text-transform:uppercase; letter-spacing:0.5px;}
.product-name {font-size:1.125rem; margin:4px 0 8px; color:var(--navy);}
.product-price.muted {font-weight:500; color:var(--text-muted);}
.product-single {display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; margin-top:0;}
.product-single-image {display:flex; align-items:flex-start; justify-content:center; background:transparent; font-size:4rem; color:var(--primary);}
.product-single-image img {width:100%; max-height:450px; object-fit:contain;}
.product-single-details {display:flex; flex-direction:column; gap:12px;}
.product-single-title {font-size:2rem; font-weight:800; color:var(--navy); line-height:1.2; margin-top:0;}
.product-single-price {font-size:1.5rem; font-weight:700; color:var(--primary);}
.product-single-installment {display:inline-flex; align-items:center; gap:8px; font-size:1rem; color:var(--primary); font-weight:600; background:var(--primary-soft); padding:8px 12px; border-radius:var(--radius-sm); align-self:flex-start;}
.product-single-specs {margin-top:16px; padding-top:16px; border-top:1px solid var(--border);}
.product-single-specs h3 {font-size:1.125rem; color:var(--navy); margin-bottom:8px;}
.product-single-specs p {color:var(--text-muted); line-height:1.5; font-size:0.875rem;}
.product-single-actions {display:flex; gap:16px; margin-top:24px; flex-wrap:wrap;}

@media (max-width: 768px) {
.product-single {grid-template-columns:minmax(0,1fr); gap:32px;}
}.band {background:var(--navy); color:var(--white); padding:32px; border-radius:var(--radius); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px;}
.band h2 {font-size:2rem; margin-bottom:8px;}
.band p {color:#cbd5e1;}
.band .btn-soft {background:rgba(255,255,255,0.1); color:var(--white);}
.band .btn-soft:hover {background:rgba(255,255,255,0.2);}
.news-list {display:grid; grid-template-columns:repeat(auto-fill, minmax(320px, 1fr)); gap:24px;}
.news-item {background:var(--white); border:1px solid var(--border); padding:24px; border-radius:var(--radius);}
.news-meta {display:flex; align-items:center; gap:12px; margin-bottom:16px; font-size:0.875rem; color:var(--text-muted);}
.tag {background:var(--bg-tint); color:var(--primary); padding:4px 8px; border-radius:4px; font-weight:600;}
.tag--open {background:#dcfce7; color:#166534;}
.tag--closed {background:#f1f5f9; color:#475569;}
.jobs-grid {display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:24px; align-items:start;}
.job-card {display:block; background:var(--white); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:var(--transition);}
.job-card:hover {transform:translateY(-4px); box-shadow:var(--shadow-lg);}
.job-card {position:relative;}
.date-badge {position:absolute; top:10px; left:10px; z-index:1; display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:999px; background:rgba(255,255,255,0.85); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); color:var(--navy); font-size:0.75rem; font-weight:700; box-shadow:var(--shadow);}
.date-badge svg {width:12px; height:12px;}
.job-card img {width:100%; height:auto;}
.lightbox {position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(15,23,42,0.85); backdrop-filter:blur(6px); opacity:0; visibility:hidden; transition:var(--transition);}
.lightbox.open {opacity:1; visibility:visible;}
.lightbox img {width:100%; height:100%; object-fit:contain;}
.lightbox-close {position:absolute; top:16px; right:16px; z-index:1; width:40px; height:40px; border:0; border-radius:50%; background:rgba(255,255,255,0.15); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:var(--transition);}
.lightbox-close:hover {background:rgba(255,255,255,0.3);}
.news-item h3 {font-size:1.25rem; margin-bottom:8px; color:var(--navy);}
.news-item p {color:var(--text-muted); margin-bottom:16px;}
.refer {background:var(--primary-soft); padding:40px; border-radius:var(--radius); text-align:center; display:flex; flex-direction:column; align-items:center; gap:24px;}
.refer h2 {font-size:2.5rem; color:var(--navy);}
.refer p {font-size:1.125rem; color:var(--text-muted); max-width:500px;}
.page-head {padding:40px 0; background:var(--bg-tint); text-align:center;}
.page-head h1 {font-size:3rem; color:var(--navy); margin-bottom:12px;}
.page-head p {font-size:1.125rem; color:var(--text-muted);}
.smart-toolbar {background:var(--bg-tint); border:1px solid var(--border); margin-bottom:32px;}
.toolbar-top {display:flex; align-items:center; justify-content:space-between; padding:16px 24px; border-bottom:1px solid transparent; transition:var(--transition);}
.toolbar-top.active {border-bottom-color:var(--border);}
.toolbar-right {display:flex; align-items:center; gap:32px;}
.btn-clean {background:none; border:none; font-family:inherit; font-weight:600; font-size:0.875rem; color:var(--navy); cursor:pointer; display:flex; align-items:center; gap:8px; letter-spacing:0.5px;}
.btn-clean i {width:16px; height:16px;}
.smart-dropdown {position:relative;}
.dropdown-list {position:absolute; top:100%; right:0; background:var(--navy); color:var(--white); min-width:200px; padding:12px 0; z-index:10; opacity:0; visibility:hidden; transform:translateY(10px); transition:var(--transition); text-align:left;}
.smart-dropdown:hover .dropdown-list {opacity:1; visibility:visible; transform:translateY(0);}
.dropdown-list li {padding:8px 24px; font-size:0.875rem; font-weight:500; cursor:pointer; transition:var(--transition);}
.dropdown-list li:hover {color:var(--primary-soft);}
.dropdown-list li.active {color:var(--primary);}
.toolbar-expanded {padding:24px; display:flex; gap:64px; border-top:1px solid var(--border); background:var(--white);}
.filter-col {display:flex; flex-direction:column; gap:12px;}
.filter-title {font-size:0.75rem; font-weight:700; color:var(--text-muted); letter-spacing:1px;}
.price-range {display:flex; align-items:center; gap:12px;}
.price-range input, .search-box {padding:10px 12px; border:1px solid var(--border); width:120px; font-family:inherit; outline:none; font-size:0.875rem;}
.price-range input:focus, .search-box:focus {border-color:var(--primary);}
.search-box {width:250px;}
@media (max-width: 768px) {
.toolbar-top {flex-direction:column; align-items:stretch; gap:12px; padding:16px;}
.toolbar-right {width:100%; justify-content:space-between; gap:12px;}
.toolbar-left {padding-bottom:12px; border-bottom:1px solid var(--border);}
.toolbar-right .btn-clean {white-space:nowrap;}
.toolbar-right .smart-dropdown:first-child .dropdown-list {left:0; right:auto;}
.toolbar-expanded {flex-direction:column; gap:20px; padding:16px;}
.filter-col:nth-child(2) {order:-1;}
.search-box {width:100%;}
.price-range input {flex:1; width:auto; min-width:0;}
}
.split {display:grid; grid-template-columns:1fr 1fr; gap:64px;}
.contact-list {margin-top:32px; display:flex; flex-direction:column; gap:24px;}
.contact-list li {display:flex; align-items:flex-start; gap:16px;}
.icon-pill {width:48px; height:48px; background:var(--bg-tint); color:var(--primary); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.contact-list strong {display:block; margin-bottom:4px; color:var(--navy);}
.contact-list a, .contact-list span {color:var(--text-muted);}
.form-panel {background:var(--white); padding:32px; border-radius:var(--radius); border:1px solid var(--border); box-shadow:var(--shadow);}
.form-panel h3 {font-size:1.5rem; margin-bottom:8px; color:var(--navy);}
.form-panel p {color:var(--text-muted); margin-bottom:24px;}
.form {display:flex; flex-direction:column; gap:16px;}
.field {display:flex; flex-direction:column; gap:8px; width:100%;}
.field label {font-weight:600; font-size:0.875rem;}
.field input, .field select, .field textarea {padding:12px; border:1px solid var(--border); border-radius:var(--radius-sm); font-family:inherit; font-size:1rem; outline:none;}
.field input:focus, .field select:focus, .field textarea:focus {border-color:var(--primary);}
.form-minimal .field input, .form-minimal .field select, .form-minimal .field textarea {border:none; border-bottom:1px solid var(--border); border-radius:0; padding:8px 0; background:transparent;}
.form-minimal .field input:focus, .form-minimal .field select:focus, .form-minimal .field textarea:focus {border-bottom-color:var(--primary); box-shadow:none;}
.form-minimal .field textarea {min-height:80px; resize:vertical;}
.field textarea {resize:vertical; min-height:120px;}
.field select {width:100%; min-width:0; max-width:100%; text-overflow:ellipsis; cursor:pointer;}
.row {display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.news-layout {display:grid; grid-template-columns:240px 1fr; gap:48px; align-items:start;}
.news-side {position:sticky; top:96px;}
.news-side .chips {flex-direction:column;}
.empty {text-align:center; padding:64px 0; color:var(--text-muted);}
.empty i {font-size:3rem; margin-bottom:16px; opacity:0.5;}
.hidden {display:none !important;}
.site-footer {background:var(--navy); color:var(--white); padding:64px 0 24px;}
.footer-grid {display:grid; grid-template-columns:2fr 1fr 1fr; gap:48px; margin-bottom:48px;}
.site-footer .brand {color:var(--white);}
.site-footer h4 {margin-bottom:16px; font-size:1.125rem;}
.site-footer ul {display:flex; flex-direction:column; gap:12px;}
.site-footer ul a {color:#94a3b8; transition:var(--transition);}
.site-footer ul a:hover {color:var(--white);}
.footer-bottom {text-align:center; padding-top:24px; border-top:1px solid rgba(255,255,255,0.1); color:#64748b; font-size:0.875rem;}
.fab {position:fixed; bottom:24px; right:24px; background:var(--primary); color:var(--white); padding:12px 24px; border-radius:30px; display:flex; align-items:center; gap:8px; font-weight:600; box-shadow:var(--shadow-lg); z-index:100; transition:var(--transition);}
.fab:hover {background:var(--primary-hover); transform:translateY(-2px);}

@media (max-width: 1024px) {
.hero-inner {grid-template-columns:1fr;}
.cats {grid-template-columns:repeat(3, 1fr);}
.split, .news-layout {grid-template-columns:1fr;}
.news-side {position:static; margin-bottom:32px;}
.news-side .chips {flex-direction:row;}
.footer-grid {grid-template-columns:1fr; gap:32px;}
}

@media (max-width: 600px) {
.cats, .perks, .row {grid-template-columns:1fr;}
.hero h1 {font-size:2.5rem;}
}
.srv-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;margin-bottom:8px}
.srv-gallery img{width:100%;height:100%;object-fit:cover;border-radius:0;display:block}
.srv-list{display:grid;grid-template-columns:1fr;gap:24px}
.srv-card{display:grid;grid-template-columns:1fr;gap:24px;align-items:start}
.srv-card:has(.srv-gallery){grid-template-columns:minmax(200px,320px) 1fr;align-items:stretch;padding:0;gap:0;overflow:hidden}
.srv-card .srv-gallery{margin-bottom:0;height:100%}
.srv-card:has(.srv-gallery) .srv-body{padding:32px 24px}
.srv-body p{max-width:70ch}
@media(max-width:700px){.srv-card:has(.srv-gallery){grid-template-columns:1fr}}
.svc-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.svc-thumb{position:relative;display:block;aspect-ratio:16/10;border-radius:var(--radius);overflow:hidden;background:var(--navy);border:1px solid var(--border);box-shadow:var(--shadow);transition:var(--transition)}
.svc-thumb:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.svc-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.svc-thumb:hover img{transform:scale(1.05)}
.svc-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,23,42,.85),rgba(15,23,42,0) 60%)}
.svc-thumb-title{position:absolute;left:14px;right:14px;bottom:12px;z-index:1;color:var(--white);font-weight:700;font-size:1rem;line-height:1.25}
.svc-thumb-ico{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--white);opacity:.6}
.svc-thumb-ico i{width:40px;height:40px}
.srv-card{scroll-margin-top:96px;transition:box-shadow .3s}
.srv-flash{box-shadow:0 0 0 3px var(--primary),var(--shadow-lg)}
