:root { --ec-red:#d51f2b; --ec-red-dark:#ad141e; --ec-ink:#101b24; --ec-slate:#59666f; --ec-line:#dce2e5; --ec-soft:#f2f5f6; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ec-ink); background:#fff; font-family:Inter,Arial,sans-serif; line-height:1.65; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:"Barlow Condensed",Arial,sans-serif; line-height:1.04; }
h1 { max-width:760px; margin-bottom:22px; font-size:clamp(3.5rem,7vw,6.4rem); font-weight:800; letter-spacing:-.025em; }
h2 { margin-bottom:18px; font-size:clamp(2.35rem,4.2vw,4.1rem); font-weight:800; letter-spacing:-.015em; }
h3 { font-size:1.55rem; }
.ec-shell { width:min(1160px,calc(100% - 44px)); margin-inline:auto; }
.ec-kicker { margin:0 0 12px; color:var(--ec-red); font-size:.73rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.ec-button { display:inline-flex; min-height:54px; padding:13px 23px; align-items:center; justify-content:center; color:#fff; background:var(--ec-red); font-weight:800; text-decoration:none; transition:background .2s ease,transform .2s ease; }
.ec-button:hover { background:var(--ec-red-dark); transform:translateY(-2px); }
.ec-arrow-link { display:inline-block; margin-top:18px; color:var(--ec-red); font-weight:800; text-decoration:none; }
.ec-arrow-link:hover { text-decoration:underline; }
.ec-hero { position:relative; overflow:hidden; color:#fff; background:var(--ec-ink); }
.ec-hero::before { position:absolute; inset:0; content:""; background:radial-gradient(circle at 10% 15%,rgba(213,31,43,.31),transparent 33%),linear-gradient(125deg,transparent 60%,rgba(255,255,255,.035)); }
.ec-hero-grid { position:relative; display:grid; grid-template-columns:1.08fr .92fr; gap:78px; min-height:680px; padding-top:72px; padding-bottom:78px; align-items:center; }
.ec-hero .ec-kicker { color:#ff8189; }
.ec-lead { max-width:670px; margin:0; color:#ccd6dc; font-size:1.13rem; }
.ec-actions { display:flex; flex-wrap:wrap; gap:24px; align-items:center; margin-top:32px; }
.ec-actions > a:not(.ec-button) { color:#fff; font-weight:800; text-underline-offset:5px; }
.ec-hero-visual { position:relative; min-height:510px; }
.ec-hero-visual img { width:100%; height:100%; object-fit:contain; background:#fff; }
.ec-image-large { position:absolute; top:0; right:0; width:82%; height:80%; padding:12px; border:1px solid rgba(255,255,255,.24); background:#fff; }
.ec-image-small { position:absolute; bottom:0; left:0; width:47%; height:42%; padding:9px; border:8px solid var(--ec-ink); background:#fff; }
.ec-hero-visual > span { position:absolute; right:-18px; bottom:20px; padding:15px 18px; color:var(--ec-ink); background:#fff; font-size:.68rem; font-weight:800; letter-spacing:.09em; line-height:1.4; text-transform:uppercase; }
.ec-hero-visual strong { color:var(--ec-red); font-family:"Barlow Condensed",Arial,sans-serif; font-size:1.2rem; }
.ec-spec-strip { color:#fff; background:var(--ec-red); }
.ec-spec-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.ec-spec-grid > div { min-height:130px; padding:28px 26px; border-right:1px solid rgba(255,255,255,.25); }
.ec-spec-grid > div:first-child { border-left:1px solid rgba(255,255,255,.25); }
.ec-spec-grid strong,.ec-spec-grid span { display:block; }
.ec-spec-grid strong { font-family:"Barlow Condensed",Arial,sans-serif; font-size:1.62rem; line-height:1.1; }
.ec-spec-grid span { margin-top:10px; color:#ffd4d7; font-size:.72rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.ec-intro { padding:105px 0; }
.ec-intro-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:95px; align-items:start; }
.ec-intro-grid h2 { margin:0; }
.ec-intro-grid > div:last-child { padding-left:30px; border-left:4px solid var(--ec-red); }
.ec-intro-grid > div:last-child p { color:var(--ec-slate); font-size:1.04rem; }
.ec-intro-grid > div:last-child p:last-child { margin:0; }
.ec-products { padding:100px 0; background:var(--ec-soft); }
.ec-section-head { display:grid; grid-template-columns:1.35fr .65fr; gap:80px; align-items:end; margin-bottom:42px; }
.ec-section-head h2 { margin:0; }
.ec-section-head > p { margin-bottom:8px; color:var(--ec-slate); }
.ec-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.ec-card-grid article { overflow:hidden; border:1px solid var(--ec-line); background:#fff; }
.ec-card-grid img { width:100%; aspect-ratio:1.25/1; object-fit:contain; padding:16px; background:#fff; }
.ec-card-grid article > div { min-height:205px; padding:24px; border-top:1px solid var(--ec-line); }
.ec-card-grid span { color:var(--ec-red); font-size:.7rem; font-weight:800; }
.ec-card-grid h3 { margin:22px 0 9px; }
.ec-card-grid p { margin:0; color:var(--ec-slate); font-size:.85rem; }
.ec-process { padding:105px 0; color:#fff; background:var(--ec-ink); }
.ec-process-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:95px; }
.ec-process-copy > p:not(.ec-kicker) { color:#bdc9cf; }
.ec-process .ec-arrow-link { color:#ff8189; }
.ec-process ol { margin:0; padding:0; border-top:1px solid rgba(255,255,255,.18); list-style:none; }
.ec-process li { display:grid; grid-template-columns:54px 1fr; gap:18px; padding:23px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.ec-process li > span { color:#ff8189; font-family:"Barlow Condensed",Arial,sans-serif; font-weight:800; }
.ec-process h3 { margin:0 0 6px; }
.ec-process li p { margin:0; color:#b8c4ca; font-size:.85rem; }
.ec-gallery { padding:105px 0; }
.ec-gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.ec-gallery figure { margin:0; border:1px solid var(--ec-line); background:#fff; }
.ec-gallery img { width:100%; aspect-ratio:1/1; object-fit:contain; padding:12px; }
.ec-gallery figcaption { padding:15px 18px; border-top:1px solid var(--ec-line); font-family:"Barlow Condensed",Arial,sans-serif; font-size:1.12rem; font-weight:700; }
.ec-inputs { padding:90px 0; background:var(--ec-soft); }
.ec-inputs-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.ec-inputs-grid > div > p:last-child { color:var(--ec-slate); }
.ec-inputs ul { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0; padding:0; list-style:none; }
.ec-inputs li { position:relative; min-height:88px; padding:18px 17px 17px 41px; border:1px solid var(--ec-line); background:#fff; font-size:.83rem; font-weight:700; }
.ec-inputs li::before { position:absolute; top:19px; left:17px; color:var(--ec-red); content:"✓"; font-weight:900; }
.ec-faq { padding:105px 0; }
.ec-faq-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:90px; align-items:start; }
.ec-faq-grid > div:first-child > p:last-child { color:var(--ec-slate); }
.ec-accordion { border-top:1px solid var(--ec-line); }
.ec-accordion details { border-bottom:1px solid var(--ec-line); }
.ec-accordion summary { position:relative; padding:23px 45px 23px 0; cursor:pointer; font-family:"Barlow Condensed",Arial,sans-serif; font-size:1.35rem; font-weight:800; list-style:none; }
.ec-accordion summary::-webkit-details-marker { display:none; }
.ec-accordion summary::after { position:absolute; top:22px; right:5px; color:var(--ec-red); content:"+"; font-family:Inter,Arial,sans-serif; }
.ec-accordion details[open] summary::after { content:"−"; }
.ec-accordion details p { max-width:760px; margin:0; padding:0 45px 24px 0; color:var(--ec-slate); font-size:.9rem; }
.ec-cta { padding:82px 0; color:#fff; background:var(--ec-red); }
.ec-cta-grid { display:grid; grid-template-columns:1.28fr .72fr; gap:90px; align-items:center; }
.ec-cta .ec-kicker { color:#ffd4d7; }
.ec-cta h2 { margin-bottom:14px; }
.ec-cta p:last-child { max-width:740px; margin:0; color:#ffe0e2; }
.ec-cta-grid > div:last-child { display:flex; flex-direction:column; align-items:flex-start; gap:11px; }
.ec-cta-grid > div:last-child > a:not(.ec-button) { color:#fff; font-size:.82rem; font-weight:700; text-decoration:none; }
.ec-button-light { color:var(--ec-red); background:#fff; }
.ec-button-light:hover { color:#fff; background:var(--ec-ink); }
.ec-footer { padding-top:60px; color:#bdc8ce; background:#0a1117; }
.ec-footer-grid { display:grid; grid-template-columns:1.5fr .85fr .75fr 1fr; gap:50px; padding-bottom:42px; }
.ec-footer img { width:205px; margin-bottom:16px; }
.ec-footer p { max-width:350px; font-size:.82rem; }
.ec-footer h2 { margin-bottom:15px; color:#fff; font-size:1.05rem; letter-spacing:.06em; text-transform:uppercase; }
.ec-footer a { display:block; margin:7px 0; color:#bdc8ce; font-size:.82rem; text-decoration:none; }
.ec-footer a:hover { color:#fff; }
.ec-footer-bottom { padding-top:20px; padding-bottom:20px; border-top:1px solid rgba(255,255,255,.12); font-size:.75rem; }
@media (max-width:980px) {
  .ec-hero-grid,.ec-intro-grid,.ec-process-grid,.ec-faq-grid,.ec-cta-grid { grid-template-columns:1fr; gap:45px; }
  .ec-hero-visual { width:min(620px,100%); }
  .ec-spec-grid { grid-template-columns:repeat(2,1fr); }
  .ec-spec-grid > div:nth-child(3) { border-left:1px solid rgba(255,255,255,.25); }
  .ec-section-head,.ec-inputs-grid { grid-template-columns:1fr; gap:35px; }
  .ec-card-grid,.ec-gallery-grid { grid-template-columns:repeat(2,1fr); }
  .ec-footer-grid { grid-template-columns:1.4fr 1fr 1fr; }
  .ec-footer-grid > div:last-child { grid-column:2/4; }
}
@media (max-width:650px) {
  .ec-shell { width:calc(100% - 28px); }
  h1 { font-size:clamp(3rem,15vw,4.3rem); }
  .ec-hero-grid { min-height:auto; padding-top:55px; padding-bottom:66px; }
  .ec-hero-visual { min-height:390px; }
  .ec-image-large { width:88%; height:78%; }
  .ec-image-small { width:50%; height:40%; }
  .ec-hero-visual > span { right:0; bottom:8px; }
  .ec-spec-grid,.ec-card-grid,.ec-gallery-grid,.ec-inputs-grid,.ec-inputs ul,.ec-footer-grid { grid-template-columns:1fr; }
  .ec-spec-grid > div { min-height:auto; border-left:1px solid rgba(255,255,255,.25); border-bottom:1px solid rgba(255,255,255,.25); }
  .ec-intro,.ec-products,.ec-process,.ec-gallery,.ec-inputs,.ec-faq { padding:72px 0; }
  .ec-intro-grid > div:last-child { padding-left:20px; }
  .ec-footer-grid > div:last-child { grid-column:auto; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .ec-button { transition:none; } }
