:root { --ink:#20272d; --muted:#6d7376; --paper:#f4f4f2; --white:#fff; --red:#ce161b; --line:#d9dbda; --dark:#151a1e; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; font-size:16px; line-height:1.55; }
a { color:inherit; text-decoration:none; }
button,a { font:inherit; }
img { display:block; max-width:100%; }
.skip-link { position:fixed; top:-80px; left:20px; z-index:100; background:var(--red); color:#fff; padding:10px 16px; }
.skip-link:focus { top:20px; }
.header { height:82px; padding:0 clamp(22px,4vw,64px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--line); background:rgba(244,244,242,.94); backdrop-filter:blur(16px); position:relative; z-index:10; }
.logo img { width:175px; height:auto; }
.header nav { display:flex; gap:34px; font-size:.78rem; font-weight:600; }
.header nav a { border-bottom:1px solid transparent; }
.header nav a:hover { border-color:var(--red); }
.header-actions { justify-self:end; display:flex; align-items:center; gap:18px; }
.portal-link { font-size:.72rem; font-weight:700; border-bottom:1px solid var(--ink); padding-bottom:2px; }
.contact-link,.primary { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; background:var(--red); color:#fff; padding:13px 17px; font-size:.77rem; font-weight:700; }
.hero { height:min(840px,calc(100svh - 82px)); min-height:680px; display:grid; grid-template-columns:1.05fr .95fr; grid-template-rows:minmax(0,1fr); border-bottom:1px solid var(--line); overflow:hidden; }
.hero-copy { min-height:0; padding:clamp(64px,8vw,120px) clamp(28px,7vw,100px) 38px clamp(22px,4vw,64px); display:flex; flex-direction:column; }
.eyebrow { margin:0 0 24px; font:500 .68rem/1.3 "DM Mono",monospace; letter-spacing:.12em; text-transform:uppercase; color:var(--red); }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:28px; font-size:clamp(3.6rem,6.2vw,6.9rem); line-height:.91; letter-spacing:-.07em; font-weight:600; }
h1 span { color:#8a8e8f; font-weight:400; }
.lead { max-width:670px; font-size:clamp(1rem,1.3vw,1.2rem); color:#50575a; }
.hero-actions { display:flex; align-items:center; gap:30px; margin-top:22px; }
.primary { min-width:185px; padding:15px 18px; }
.secondary { font-size:.8rem; font-weight:700; border-bottom:1px solid var(--ink); padding-bottom:3px; }
.capability-row { margin-top:auto; padding-top:28px; display:flex; border-top:1px solid var(--line); }
.capability-row span { flex:1; font:500 .65rem "DM Mono",monospace; text-transform:uppercase; letter-spacing:.05em; border-right:1px solid var(--line); padding-right:12px; margin-right:18px; }
.capability-row span:last-child { border:0; }
.hero-image { min-height:0; margin:0; padding:34px 20px 18px; display:flex; flex-direction:column; background:#fff; border-left:1px solid var(--line); overflow:hidden; }
.hero-image img { width:100%; height:calc(100% - 26px); object-fit:contain; mix-blend-mode:multiply; }
.hero-image figcaption { font:500 .58rem "DM Mono",monospace; letter-spacing:.06em; text-transform:uppercase; color:#888d8f; text-align:right; }
.products { padding:clamp(70px,8vw,120px) clamp(22px,4vw,64px); }
.section-head { display:grid; grid-template-columns:1fr .75fr; gap:50px; align-items:end; margin-bottom:45px; }
.section-head h2,.configurator h2,.approach h2,.contact h2 { margin-bottom:0; font-size:clamp(2.6rem,4.6vw,5rem); line-height:.97; letter-spacing:-.055em; font-weight:600; }
.section-head>p { max-width:520px; margin-bottom:6px; color:var(--muted); }
.product-grid { display:grid; grid-template-columns:1.08fr 1fr 1fr; gap:12px; }
.product-card { min-height:480px; padding:28px; display:flex; flex-direction:column; overflow:hidden; position:relative; }
.product-copy { position:relative; z-index:2; }
.product-copy>span { font:500 .62rem "DM Mono",monospace; letter-spacing:.08em; }
.product-copy h3 { margin:18px 0 8px; max-width:300px; font-size:1.35rem; line-height:1.2; }
.product-copy p { max-width:330px; font-size:.85rem; color:inherit; opacity:.72; }
.product-card img { width:100%; height:265px; object-fit:contain; margin-top:auto; mix-blend-mode:multiply; }
.accent-card { padding-top:24px; background:#e7e9e7; color:var(--ink); border-top:4px solid var(--red); }
.accent-card .product-copy>span { color:var(--red); }
.accent-card img { mix-blend-mode:normal; filter:drop-shadow(0 25px 20px rgba(40,46,48,.16)); }
.light-card { background:#fff; border:1px solid var(--line); }
.dark-card { background:#272e32; color:#fff; }
.dark-card img { mix-blend-mode:normal; filter:drop-shadow(0 22px 18px rgba(0,0,0,.28)); }
.disclaimer { margin:20px 0 0; font:400 .62rem "DM Mono",monospace; text-transform:uppercase; letter-spacing:.06em; color:#888d8f; }
.configurator { padding:clamp(72px,8vw,118px) clamp(22px,4vw,64px); display:grid; grid-template-columns:.8fr 1.2fr; gap:7vw; background:#e8eae8; border-top:1px solid var(--line); }
.configurator-intro>p:not(.eyebrow) { max-width:560px; margin-top:28px; color:var(--muted); }
.configurator-intro .configurator-notice { padding-top:18px; border-top:1px solid #cfd2d0; font:500 .62rem/1.55 "DM Mono",monospace; letter-spacing:.04em; text-transform:uppercase; color:#7a7f81; }
.configurator-panel { align-self:start; background:#fff; border-top:4px solid var(--red); padding:30px; box-shadow:0 18px 50px rgba(32,39,45,.07); }
.configurator-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px 16px; padding-bottom:26px; border-bottom:1px solid var(--line); }
.configurator-fields label { display:grid; gap:8px; color:#52595c; font:500 .65rem "DM Mono",monospace; letter-spacing:.06em; text-transform:uppercase; }
.configurator-fields input,.configurator-fields select { width:100%; min-height:48px; border:1px solid var(--line); border-radius:0; background:#f7f7f5; color:var(--ink); padding:12px 13px; font:500 .88rem Manrope,Arial,sans-serif; outline:none; }
.configurator-fields input:focus,.configurator-fields select:focus { border-color:var(--ink); background:#fff; }
.calibre-preview { padding:24px 0; border-bottom:1px solid var(--line); }
.calibre-preview-header { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:16px; }
.calibre-preview-header p,.calibre-preview-header h3 { margin:0; }
.calibre-preview-header p { color:#777d7f; font:500 .62rem "DM Mono",monospace; letter-spacing:.07em; text-transform:uppercase; }
.calibre-preview-header h3 { font-size:1.2rem; line-height:1.2; }
.calibre-preview-media { display:grid; grid-template-columns:.9fr 1.1fr; gap:12px; min-height:230px; }
.calibre-preview figure { margin:0; min-width:0; position:relative; background:#f2f3f1; overflow:hidden; }
.calibre-preview figure img { width:100%; height:210px; object-fit:contain; }
.calibre-product-visual img { mix-blend-mode:multiply; }
.calibre-preview figcaption { position:absolute; left:9px; bottom:8px; padding:3px 6px; background:rgba(255,255,255,.88); color:#676d70; font:500 .55rem "DM Mono",monospace; letter-spacing:.04em; text-transform:uppercase; }
.calibre-effect-visuals { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:10px; min-width:0; }
.calibre-effect-visuals figure { background:#20262a; }
.calibre-effect-visuals figure img { padding:10px; }
.calibre-effect-visuals figcaption { background:rgba(21,26,30,.84); color:#fff; }
.calibre-specs { display:grid; grid-template-columns:1.25fr .7fr 1.25fr; margin:12px 0 0; border:1px solid var(--line); }
.calibre-specs div { min-width:0; padding:12px; border-right:1px solid var(--line); }
.calibre-specs div:last-child { border-right:0; }
.calibre-specs dt { margin-bottom:5px; color:#7a8082; font:500 .55rem "DM Mono",monospace; letter-spacing:.05em; text-transform:uppercase; }
.calibre-specs dd { margin:0; font-size:.78rem; font-weight:600; line-height:1.35; }
.calibre-preview-note { margin:10px 0 0; color:#8a8f91; font:400 .56rem/1.45 "DM Mono",monospace; letter-spacing:.03em; text-transform:uppercase; }
.price-summary { display:grid; gap:0; padding:22px 0; }
.price-summary>div { display:flex; align-items:baseline; justify-content:space-between; gap:24px; padding:10px 0; color:#666d70; border-bottom:1px solid #eceeed; font-size:.78rem; }
.price-summary strong { color:var(--ink); font-size:1rem; font-weight:600; white-space:nowrap; }
.price-summary .price-primary { color:var(--ink); font-weight:600; }
.price-summary .price-primary strong { font-size:1.35rem; }
.price-summary .price-grand { margin-top:10px; padding:18px; background:var(--dark); color:#fff; border:0; }
.price-summary .price-grand strong { color:#fff; font-size:1.7rem; }
.configurator-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.configurator-footer p { margin:0; color:#777d7f; font:500 .62rem/1.4 "DM Mono",monospace; text-transform:uppercase; }
.configurator-footer button { min-width:190px; border:0; background:var(--red); color:#fff; padding:14px 17px; display:inline-flex; justify-content:space-between; gap:26px; cursor:pointer; font-size:.77rem; font-weight:700; }
.approach { min-height:610px; padding:clamp(72px,8vw,118px) clamp(22px,4vw,64px); display:grid; grid-template-columns:1.15fr .85fr; gap:8vw; background:var(--dark); color:#fff; position:relative; overflow:hidden; }
.approach::after { content:""; position:absolute; width:420px; height:420px; border:1px solid rgba(255,255,255,.08); border-radius:50%; right:-120px; bottom:-180px; }
.eyebrow.light { color:#e7b5b6; }
.approach-copy p:last-child { max-width:650px; margin-top:30px; color:#aeb3b5; }
.approach-list { border-top:1px solid rgba(255,255,255,.2); }
.approach-list div { display:grid; grid-template-columns:50px 1fr; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.2); }
.approach-list span { color:var(--red); font:500 .65rem "DM Mono",monospace; }
.approach-list strong { font-size:.92rem; font-weight:500; }
.cooperation-mark { position:absolute; left:clamp(22px,4vw,64px); bottom:42px; display:flex; align-items:center; gap:16px; font:500 1.05rem "DM Mono",monospace; }
.cooperation-mark span { width:52px; height:52px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.3); }
.cooperation-mark i { color:var(--red); font-style:normal; }
.contact { padding:clamp(70px,8vw,110px) clamp(22px,4vw,64px); display:grid; grid-template-columns:.85fr 1.15fr; gap:8vw; background:#fff; }
.contact-intro>p:not(.eyebrow) { max-width:560px; margin-top:28px; color:var(--muted); }
address { margin:30px 0 0; padding-top:22px; border-top:1px solid var(--line); font-style:normal; font-size:1rem; }
.contact-form { align-self:end; display:grid; gap:18px; padding-top:22px; border-top:2px solid var(--ink); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.contact-form label { display:grid; gap:8px; color:#52595c; font:500 .65rem "DM Mono",monospace; letter-spacing:.06em; text-transform:uppercase; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; border:1px solid var(--line); border-radius:0; background:#f7f7f5; color:var(--ink); padding:13px 14px; font:500 .9rem Manrope,Arial,sans-serif; text-transform:none; outline:none; transition:border-color .15s,background .15s; }
.contact-form textarea { resize:vertical; min-height:130px; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--ink); background:#fff; }
.form-trap { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.turnstile-slot:empty { display:none; }
.form-footer { display:grid; grid-template-columns:1fr auto; gap:24px; align-items:end; }
.privacy-note { max-width:440px; margin:0; color:#7a8082; font-size:.7rem; line-height:1.55; }
.contact-form button { min-width:174px; border:0; background:var(--red); color:#fff; padding:14px 17px; display:inline-flex; justify-content:space-between; gap:26px; cursor:pointer; font-size:.77rem; font-weight:700; }
.contact-form button:disabled { opacity:.55; cursor:wait; }
.form-status { min-height:1.2em; margin:0; color:var(--muted); font-size:.75rem; }
.form-status.error { color:#9f1519; }
.form-status.success { color:#326044; }
footer { min-height:185px; padding:32px clamp(22px,4vw,64px); display:grid; grid-template-columns:1fr 1.2fr auto; gap:30px; align-items:start; background:#0e1215; color:#fff; }
footer img { width:175px; }
.legal { display:grid; gap:5px; font:400 .64rem "DM Mono",monospace; color:#989da0; }
footer>p { margin:0; font:400 .64rem "DM Mono",monospace; color:#989da0; }
:focus-visible { outline:2px solid var(--red); outline-offset:4px; }
@media (max-width:900px) { .header { grid-template-columns:1fr auto; } .header nav { display:none; } .hero { height:auto; min-height:auto; grid-template-columns:1fr; } .hero-copy { min-height:620px; } .hero-image { min-height:600px; border-left:0; border-top:1px solid var(--line); } .product-grid { grid-template-columns:1fr 1fr; } .product-card:first-child { grid-column:1 / -1; } .configurator { grid-template-columns:1fr; } }
@media (max-width:640px) { .header { height:68px; padding-inline:18px; } .logo img { width:138px; } .contact-link { display:none; } .hero-copy { min-height:560px; padding:64px 18px 30px; } h1 { font-size:clamp(3.3rem,16vw,5rem); } .lead { font-size:1rem; } .hero-actions { align-items:flex-start; flex-direction:column; gap:18px; } .capability-row { flex-direction:column; gap:10px; } .capability-row span { border:0; } .hero-image { min-height:480px; padding-inline:10px; } .section-head,.product-grid,.approach,.contact { grid-template-columns:1fr; } .section-head { gap:22px; } .product-card,.product-card:first-child { grid-column:auto; min-height:430px; } .configurator-panel { padding:22px 18px; } .configurator-fields { grid-template-columns:1fr; } .calibre-preview-header { align-items:flex-start; flex-direction:column; gap:5px; } .calibre-preview-media { grid-template-columns:1fr; } .calibre-preview figure img { height:190px; } .calibre-specs { grid-template-columns:1fr; } .calibre-specs div { border-right:0; border-bottom:1px solid var(--line); } .calibre-specs div:last-child { border-bottom:0; } .price-summary>div { align-items:flex-start; flex-direction:column; gap:4px; } .price-summary .price-grand { padding:16px; } .configurator-footer { align-items:stretch; flex-direction:column; } .configurator-footer button { width:100%; } .approach { min-height:720px; } .cooperation-mark { bottom:34px; } .contact-form { margin-top:20px; } .form-row,.form-footer { grid-template-columns:1fr; } .contact-form button { width:100%; } footer { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
