:root { --brand:#6495ed; --b900:#07142c; --b800:#0b1f42; --b700:#123364; --b600:#285aa5; --ice:#edf4ff; --ink:#10213d; --muted:#66758d; --white:#fff; --line:#d8e3f1; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:Roboto,Arial,sans-serif; color:var(--ink); background:#fff; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
h1, h2, h3 { margin:0; font-family:Montserrat,Arial,sans-serif; }
.wrap { width:min(1240px,calc(100% - 64px)); margin:auto; }
.eyebrow { color:var(--brand); font:700 12px Montserrat,Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.hph-top { position:fixed; z-index:10000; top:0; left:0; width:100%; background:transparent; border-bottom:1px solid rgba(255,255,255,.38); transition:.38s ease; }
.hph-top-inner { display:flex; align-items:center; gap:30px; height:128px; max-width:1500px; margin:auto; padding:0 clamp(25px,4vw,70px); transition:.38s ease; }
.hph-brand { position:relative; display:block; flex:0 0 190px; width:190px; height:100px; margin-right:auto; overflow:visible; }
.hph-logo { position:absolute; top:50%; left:0; max-width:100%; visibility:hidden; opacity:0; pointer-events:none; transform:translateY(-50%); transition:opacity .3s ease,height .38s ease; }
.hph-logo-white { height:96px; visibility:visible; opacity:1; }
.hph-logo-color { height:50px; visibility:hidden; opacity:0; }
.hph-links { display:flex; align-items:center; gap:clamp(16px,1.8vw,32px); }
.hph-links a, .hph-lang a, .hph-lang span {
    color:#fff;
    font-size:14px;
    font-weight:500;
    white-space:nowrap;
    transition:color .3s;
    letter-spacing:1px;
}

.hph-lang a {
    color:#d3dbe8;
}

.hph-lang a.active {
    color:#fff;
    font-weight:700;
}

.hph-lang span {
    color:#9eacbf;
}
.hph-links a { position:relative; }
.hph-links a::after { content:""; position:absolute; bottom:-12px; left:0; width:0; height:2px; background:var(--brand); transition:.25s; }
.hph-links a:hover::after, .hph-links a.active::after { width:100%; }
.hph-lang { display:flex; align-items:center; gap:5px; }
.hph-toggle, .hph-mobile-menu { display:none; }
.hph-top.scrolled { background:rgba(255,255,255,.78); border-bottom-color:rgba(100,149,237,.23); box-shadow:0 8px 28px rgba(23,51,95,.10); backdrop-filter:blur(18px) saturate(145%); -webkit-backdrop-filter:blur(18px) saturate(145%); }
.hph-top.scrolled .hph-top-inner { height:70px; }
.hph-top.scrolled .hph-brand { height:60px; }
.hph-top.scrolled .hph-logo-white { height:50px; visibility:hidden; opacity:0; }
.hph-top.scrolled .hph-logo-color { height:50px; visibility:visible; opacity:1; }
.hph-top.scrolled .hph-links a {
    color:#17335f;
}

.hph-top.scrolled .hph-lang a {
    color:#9aa9bd;
}

.hph-top.scrolled .hph-lang a.active {
    color:#17335f;
    font-weight:700;
}

.hph-top.scrolled .hph-lang span {
    color:#b6c1d0;
}

.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,20,44,.9),rgba(7,20,44,.45) 62%,rgba(7,20,44,.1))}
.page-hero-content{position:relative;z-index:2;padding-top:105px}
.page-hero h1{font-size:clamp(38px,5vw,64px);line-height:1;letter-spacing:-.045em;margin:12px 0 14px}
.page-hero p{max-width:690px;margin:0;color:#e5edf9;font-size:17px;line-height:1.6}

.breadcrumbs{border-bottom:1px solid var(--line);background:#fff}
.breadcrumbs .wrap{height:52px;display:flex;align-items:center;gap:11px;font:600 12px Montserrat;color:var(--muted)}
.breadcrumbs i{color:var(--brand)}

.spares { padding:20px; color:#fff; background:linear-gradient(90deg,#456fb8,var(--brand),#456fb8); }
.spares .wrap { display:flex; align-items:center; justify-content:center; gap:16px; font-size:17px; text-align:center; }
.spares a { padding:10px 17px; color:var(--b700); background:#fff; font:800 12px Montserrat,Arial,sans-serif; letter-spacing:.08em; }
.footer-full { padding:64px 0 0; color:#c9d6ea; background:linear-gradient(145deg,var(--b900),var(--b800)); }
.footer-grid { display:grid; grid-template-columns:1.1fr 1fr 1.25fr; gap:70px; padding-bottom:52px; }
.footer-logo { width:145px; margin:0 0 22px; }
.footer-company h3 { margin-bottom:12px; color:#fff; font-size:18px; }
.footer-company p { margin:0; font-size:14px; line-height:1.7; }
.footer-menu, .footer-legal { display:flex; flex-direction:column; gap:12px; }
.footer-menu a, .footer-legal a { font:500 12px Montserrat,Arial,sans-serif; letter-spacing:.04em; transition:.2s; }
.footer-menu a:hover, .footer-legal a:hover { color:#fff; transform:translateX(3px); }
.quality-logos { display:flex; align-items:center; gap:22px; margin-bottom:28px; }
.quality-logos img { width:auto; height:68px; margin:0; object-fit:contain; }
.footer-bottom { padding:18px 0; color:#c9d6ea; background:#061126; border-top:1px solid #ffffff1f; font-size:12px; letter-spacing:1px; }
.footer-bottom .wrap { display:flex; justify-content:space-between; gap:20px; }
.footer-bottom a { color:#fff; }
.footer-bottom span { color:#91a4c2; }
.reveal { opacity:1; transform:none; transition:opacity .7s ease,transform .7s ease; }
.js-reveal .reveal { opacity:0; transform:translateY(25px); }
.js-reveal .reveal.in { opacity:1; transform:none; }
.waypoint-ready .hph-reveal { opacity:0; transform:translateY(38px); transition:opacity .75s ease,transform .85s cubic-bezier(.2,.75,.25,1); will-change:opacity,transform; }
.waypoint-ready .hph-reveal.from-left { transform:translateX(-55px); }
.waypoint-ready .hph-reveal.from-right { transform:translateX(55px); }
.waypoint-ready .hph-reveal.zoom-in { transform:scale(.92); }
.waypoint-ready .hph-reveal.hph-visible { opacity:1; transform:none; }
.waypoint-ready .hph-reveal.delay-1 { transition-delay:.10s; }
.waypoint-ready .hph-reveal.delay-2 { transition-delay:.20s; }
.waypoint-ready .hph-reveal.delay-3 { transition-delay:.30s; }

/* Shared product contact/form */
.product-contact{
    padding:60px 0 76px;
    background:#f5f8fd;
    text-align:center;
}
.product-contact .wrap{max-width:1000px}
.product-contact-button{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:14px 24px;
    background:var(--brand);
    color:#fff!important;
    font:800 12px Montserrat,Arial,sans-serif;
    letter-spacing:.08em;
    text-transform:uppercase;
    box-shadow:0 10px 25px rgba(100,149,237,.25);
    transition:transform .25s ease,box-shadow .25s ease;
	border-radius:8px;
}
.product-contact-button:hover{
	background:#3d67b4;
    transform:translateY(-2px);
    box-shadow:0 15px 32px rgba(100,149,237,.32);
}
.product-form{
    max-width:1000px;
    margin:28px auto 0;
    text-align:left;
}
.product-form .boxinfo{
    display:none;
    width:100%;
    margin:0;
    padding:42px clamp(22px,4vw,55px);
    background:#f3f6fb;
    border:1px solid #dbe5f2;
    box-shadow:0 18px 45px rgba(20,51,94,.10);
    text-align:left;
}
.product-form .boxinfo.is-open{display:block}
.product-form .form-title{
    margin:0 0 28px;
    color:var(--b700);
    font:700 clamp(25px,3vw,34px)/1.15 Montserrat,Arial,sans-serif;
    letter-spacing:-.025em;
}
.product-form .form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px 28px;
}
.product-form .form-field{position:relative}
.product-form .form-field.full{grid-column:1/-1}
.product-form .form-input,
.product-form .form-textarea{
    width:100%;
    border:0;
    border-bottom:1px solid #bfcddd;
    padding:12px 4px;
    color:var(--ink);
    background:transparent;
    font:16px Roboto,Arial,sans-serif;
    outline:none;
    transition:border-color .25s,box-shadow .25s;
}
.product-form .form-textarea{
    min-height:145px;
    resize:vertical;
}
.product-form .form-input:focus,
.product-form .form-textarea:focus{
    border-bottom-color:var(--brand);
    box-shadow:0 1px 0 var(--brand);
}
.product-form .form-label{
    display:block;
    margin:0 0 8px;
    color:var(--muted);
    font:700 11px Montserrat,Arial,sans-serif;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.product-form .form-error{
    min-height:18px;
    margin-top:5px;
    color:#c0392b;
    font-size:12px;
    font-weight:600;
}
.product-form .form-antispam{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-top:4px;
    color:var(--muted);
    font-size:14px;
}
.product-form .form-antispam input{width:80px}
.product-form .form-privacy{
    grid-column:1/-1;
    color:var(--muted);
    font-size:12px;
    line-height:1.65;
}
.product-form .form-privacy label{
    display:block;
    margin-top:12px;
}
.product-form .form-submit{
    grid-column:1/-1;
    text-align:center;
    padding-top:8px;
}
.product-form .form-submit-button{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:14px 24px;
    border:0;
    color:#fff;
    background:var(--b700);
    cursor:pointer;
    font:800 12px Montserrat,Arial,sans-serif;
    letter-spacing:.08em;
    text-transform:uppercase;
    transition:background .25s,transform .25s;
}
.product-form .form-submit-button:hover{
    background:var(--brand);
    transform:translateY(-2px);
}
.product-form .form-result{margin-top:20px}

@media (max-width:1050px) {
    .hph-top-inner { height:88px; }
    .hph-brand { flex-basis:145px; width:145px; height:72px; }
    .hph-logo-white { height:70px; }
    .hph-links, .hph-lang { display:none; }
    .hph-toggle { display:block; margin-left:auto; color:#fff; background:none; border:0; font-size:32px; }
    .hph-top.scrolled .hph-toggle { color:#17335f; }
    .hph-mobile-menu.open { position:absolute; top:100%; right:15px; left:15px; display:grid; padding:12px; background:rgba(255,255,255,.95); border-radius:0 0 14px 14px; box-shadow:0 15px 35px rgba(23,51,95,.15); backdrop-filter:blur(18px); }
    .hph-mobile-menu a { padding:12px 14px; color:#17335f; border-bottom:1px solid rgba(100,149,237,.14); font-weight:600; }
}
@media (max-width:900px) {
    .wrap { width:min(100% - 32px,1240px); }
    .footer-grid { grid-template-columns:1fr 1fr; gap:40px; }
    .footer-quality { grid-column:1/-1; }
    .footer-bottom .wrap { flex-direction:column; }
}
@media (max-width:560px) {
    .spares .wrap { flex-direction:column; }
    .footer-grid { grid-template-columns:1fr; }
    .footer-quality { grid-column:auto; }
    .quality-logos { flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    .reveal, .js-reveal .reveal { opacity:1; transform:none; transition:none; }
    .waypoint-ready .hph-reveal { opacity:1; transform:none; transition:none; }
}
