/* ECUswap homepage – loaded only on the static front page. */
body.home #main.ecu-home { width:100%; max-width:none; margin:0; padding:0; overflow:hidden; background:#f4f4f2; color:#171717; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; font-size:16px; line-height:1.6; }
body.home #primary,body.home #content { float:none; width:100%; max-width:none; margin:0; padding:0; }
.ecu-home *,.ecu-home *::before,.ecu-home *::after { box-sizing:border-box; }
.ecu-home a,.ecu-home a:link,.ecu-home a:visited,.ecu-home a:hover,.ecu-home a:focus { color:inherit; border:0; box-shadow:none; outline-offset:4px; text-decoration:none; }
.ecu-container { width:min(1180px,calc(100% - 48px)); margin:0 auto; }
.ecu-section { padding:52px 0; }
.ecu-kicker { display:flex; align-items:center; gap:10px; margin:0 0 17px; color:#5d5d5b; font-size:11px; font-weight:800; letter-spacing:.15em; line-height:1.2; text-transform:uppercase; }
.ecu-kicker::before { width:22px; height:2px; background:#262626; content:""; }
.ecu-home h1,.ecu-home h2,.ecu-home h3,.ecu-home p { margin-top:0; }
.ecu-home h1,.ecu-home h2 { color:#151515; font-weight:800; letter-spacing:-.055em; }
.ecu-home h1 { max-width:680px; margin-bottom:18px; font-size:clamp(42px,4.15vw,57px); line-height:1.04; }
.ecu-home h1 span { color:#5b5b59; }
.ecu-home h2 { margin-bottom:0; font-size:clamp(35px,4.1vw,56px); line-height:1.02; }
.ecu-lead { max-width:680px; margin:23px 0 0; color:#626260; font-size:18px; line-height:1.7; }
.ecu-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:53px; padding:0 23px; border:1px solid transparent !important; border-radius:7px; font-size:14px; font-weight:800; transition:background .2s,border-color .2s,color .2s,transform .2s; }
.ecu-button:hover { transform:translateY(-2px); }
.ecu-button--dark { background:#1b1b1b; color:#fff !important; }
.ecu-button--dark:hover { background:#000; }
.ecu-button--light { border-color:#c9c9c6 !important; background:transparent; color:#222 !important; }
.ecu-button--light:hover { border-color:#777 !important; background:#fff; }
.ecu-hero { padding:48px 0 0; background:linear-gradient(125deg,#fbfbfa 0%,#f4f4f1 58%,#ededeb 100%); }
.ecu-hero__grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr); align-items:stretch; gap:58px; }
.ecu-hero--no-photo .ecu-hero__grid { grid-template-columns:minmax(0,760px); }
.ecu-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.ecu-hero__facts { display:flex; flex-wrap:wrap; gap:9px 21px; margin:24px 0 28px; padding:0; color:#555552; font-size:12px; font-weight:700; list-style:none; }
.ecu-hero__facts li::before { display:inline-block; width:6px; height:6px; margin:0 8px 1px 0; border-radius:50%; background:#252525; content:""; }
.ecu-console { position:relative; min-height:413px; }
.ecu-console__photo { position:absolute; inset:0 0 25px 62px; width:calc(100% - 62px); height:calc(100% - 25px); object-fit:cover; filter:grayscale(1) contrast(1.05); opacity:.28; }
.ecu-console__bar,.ecu-console__body,.ecu-console__tag { position:absolute; border:1px solid #d8d8d5; background:rgba(255,255,255,.94); box-shadow:0 18px 45px rgba(0,0,0,.09); }
.ecu-console__bar { top:20px; right:0; left:62px; display:flex; align-items:center; gap:6px; height:38px; padding:0 13px; border-radius:13px 13px 0 0; border-bottom:0; color:#777; font-size:9px; letter-spacing:.11em; }
.ecu-console__bar span { width:7px; height:7px; border-radius:50%; background:#aaa; }.ecu-console__bar b { margin-left:8px; font-weight:800; }
.ecu-console__body { top:58px; right:0; left:62px; min-height:294px; padding:38px 35px; border-radius:0 0 13px 13px; }
.ecu-console__label { margin:0 0 3px; color:#8a8a88; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.ecu-console__body>strong { font-size:27px; letter-spacing:-.04em; }
.ecu-console__line { display:flex; justify-content:space-between; padding:18px 0 0; margin-top:17px; border-top:1px solid #e6e6e3; color:#777; font-size:12px; }.ecu-console__line b { color:#242424; }.ecu-console__line b::before { display:inline-block; width:6px; height:6px; margin:0 6px 1px 0; border-radius:50%; background:#333; content:""; }
.ecu-console__tag { bottom:2px; left:0; display:flex; align-items:center; gap:15px; width:212px; padding:18px; border-radius:12px; }.ecu-console__tag strong { font-size:24px; letter-spacing:-.06em; }.ecu-console__tag span { color:#6c6c69; font-size:11px; font-weight:700; line-height:1.35; }
.ecu-hero__photo { position:relative; min-height:390px; margin:0; overflow:hidden; border-radius:10px 10px 56px 10px; background:#e9e9e6; }.ecu-hero__photo img { width:100%; height:100%; min-height:390px; object-fit:cover; filter:contrast(1.02) saturate(1.02); }.ecu-hero__photo figcaption { display:none; }
.ecu-proof { border-top:1px solid #d8d8d5; border-bottom:1px solid #d8d8d5; background:#f4f4f1; color:#242424; }.ecu-proof__grid { display:grid; grid-template-columns:repeat(3,1fr); }.ecu-proof__grid>div { padding:19px 25px 20px; border-right:1px solid #d8d8d5; }.ecu-proof__grid>div:first-child { border-left:1px solid #d8d8d5; }.ecu-proof strong,.ecu-proof span { display:block; }.ecu-proof strong { font-size:13px; }.ecu-proof span { margin-top:3px; color:#747471; font-size:11px; }
.ecu-heading { margin-bottom:27px; }.ecu-heading--row { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }.ecu-heading--center { text-align:center; }.ecu-heading--center .ecu-kicker { justify-content:center; }.ecu-heading--center .ecu-lead { margin-right:auto; margin-left:auto; }
.ecu-services { padding-top:44px; background:#fff; }.ecu-services .ecu-heading { margin-bottom:22px; }.ecu-services .ecu-heading h2 { font-size:clamp(33px,3.6vw,48px); }.ecu-services__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:17px; }.ecu-service { display:flex; min-height:234px; flex-direction:column; padding:26px; border:1px solid transparent !important; background:#f4f4f2; transition:transform .2s,border-color .2s,box-shadow .2s; }.ecu-service:hover { transform:translateY(-3px); border-color:#d4d4d1 !important; box-shadow:0 15px 30px rgba(0,0,0,.06); }.ecu-service>span { color:#777; font-family:monospace; font-size:12px; font-weight:700; }.ecu-service h3 { margin:24px 0 9px; color:#1a1a19; font-size:23px; letter-spacing:-.035em; line-height:1.18; }.ecu-service p { max-width:420px; margin:0; color:#6d6d6b; font-size:14px; }.ecu-service b { margin-top:auto; padding-top:16px; font-size:13px; }.ecu-service i,.ecu-text-link span,.ecu-product__link span,.ecu-post__link span { margin-left:7px; font-size:17px; font-style:normal; }
.ecu-products { padding-top:46px; padding-bottom:50px; background:#f1f1ef; }.ecu-products .ecu-heading { margin-bottom:28px; }.ecu-products .ecu-heading h2 { max-width:580px; font-size:clamp(34px,3.6vw,48px); }.ecu-products .ecu-lead { max-width:590px; margin-top:15px; font-size:16px; line-height:1.6; }.ecu-text-link { flex:0 0 auto; padding-bottom:4px; border-bottom:1px solid #777 !important; font-size:13px; font-weight:800; }.ecu-products__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; }.ecu-product { display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid #dededb; background:#fff; transition:transform .2s,box-shadow .2s; }.ecu-product:hover { transform:translateY(-3px); box-shadow:0 14px 30px rgba(0,0,0,.07); }.ecu-product__image { display:flex; align-items:center; justify-content:center; height:188px; padding:16px; background:#f7f7f5; }.ecu-product__image img { width:100%; height:100%; object-fit:contain; }.ecu-product__body { display:flex; min-height:210px; flex:1; flex-direction:column; padding:17px 18px 18px; }.ecu-product h3 { min-height:66px; margin:0 0 11px; font-size:15px; line-height:1.42; }.ecu-product__price { min-height:26px; margin-bottom:13px; font-size:17px; font-weight:800; }.ecu-product__price del { color:#8b8b88; font-size:13px; font-weight:400; }.ecu-product__price ins { text-decoration:none; }.ecu-product__link { margin-top:auto; }.ecu-product__link,.ecu-post__link { font-size:12px; font-weight:800; }.ecu-empty { color:#777; }
.ecu-about { background:#fff; }.ecu-about__grid { display:grid; grid-template-columns:.9fr 1.1fr; align-items:start; gap:56px; }.ecu-about__visual { position:relative; min-height:300px; overflow:hidden; background:linear-gradient(145deg,#111,#292929); }.ecu-about__photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.1); opacity:.34; }.ecu-about__gridlines { position:absolute; inset:0; opacity:.19; background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px); background-size:38px 38px; }.ecu-chip { position:absolute; top:50%; left:50%; display:flex; width:190px; height:190px; flex-direction:column; align-items:center; justify-content:center; transform:translate(-50%,-50%); border:1px solid #777; border-radius:21px; box-shadow:0 0 0 20px rgba(255,255,255,.06),0 0 0 40px rgba(255,255,255,.04); color:#aaa; }.ecu-chip span,.ecu-chip small { font-size:10px; font-weight:800; letter-spacing:.13em; }.ecu-chip b { margin:6px 0; color:#fff; font-size:38px; letter-spacing:-.07em; }.ecu-about__visual>p { position:absolute; bottom:18px; left:20px; margin:0; color:#aaa; font-family:monospace; font-size:10px; line-height:1.8; }
.ecu-about__caption { position:absolute; right:24px; bottom:24px; left:24px; max-width:330px; padding:22px; background:rgba(20,20,20,.85); border:1px solid rgba(255,255,255,.22); color:#fff; }.ecu-about__caption span { color:#bdbdb9; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.ecu-about__caption p { margin:10px 0 0; font-size:15px; line-height:1.5; }
.ecu-reviews { background:#e9e9e7; }.ecu-stars { margin:21px 0 0; color:#202020; font-size:20px; letter-spacing:3px; }.ecu-stars span { margin-left:8px; color:#666; font-size:12px; font-weight:700; letter-spacing:0; vertical-align:2px; }.ecu-review-plugin { margin-top:38px; }.ecu-admin-note { padding:16px; background:#fff7d9; color:#604e00; font-size:13px; }.ecu-admin-note code { color:inherit; }
.ecu-swaps { background:#fff; }.ecu-swap-list { border-top:1px solid #d7d7d4; }.ecu-swap-list a { display:grid; grid-template-columns:130px 1fr auto; align-items:center; gap:30px; padding:22px 4px; border-bottom:1px solid #d7d7d4 !important; transition:padding .2s,background .2s; }.ecu-swap-list a:hover { padding-right:16px; padding-left:16px; background:#f4f4f2; }.ecu-swap-list span { color:#777; font-family:monospace; font-size:13px; font-weight:800; }.ecu-swap-list b { font-size:19px; letter-spacing:-.02em; }.ecu-swap-list i { font-size:24px; font-style:normal; }.ecu-swap-photo { display:block; width:100%; max-height:330px; margin-top:24px; object-fit:cover; filter:grayscale(1) contrast(1.05); }
.ecu-journal { background:#f1f1ef; }.ecu-journal__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.ecu-post__image { display:flex; height:210px; align-items:center; justify-content:center; overflow:hidden; background:#272727; color:#bbb; font-size:14px; font-weight:800; letter-spacing:.12em; line-height:1.6; text-align:center; }.ecu-post__image img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }.ecu-post:hover .ecu-post__image img { transform:scale(1.04); }.ecu-post h3 { min-height:54px; margin:15px 0 12px; font-size:20px; letter-spacing:-.035em; line-height:1.25; }
.ecu-contact { padding:62px 0; background:#1c1c1b; color:#fff; }.ecu-contact__inner { display:flex; align-items:center; justify-content:space-between; gap:35px; }.ecu-contact .ecu-kicker { color:#b4b4b1; }.ecu-contact .ecu-kicker::before { background:#ddd; }.ecu-contact h2 { margin:0; color:#fff; font-size:clamp(34px,4vw,54px); line-height:1.04; }.ecu-contact p:not(.ecu-kicker) { margin:14px 0 0; color:#b9b9b6; }.ecu-contact .ecu-contact__notice { max-width:670px; margin-top:18px; padding-top:16px; border-top:1px solid #464644; color:#d0d0cd; font-size:13px; line-height:1.55; }.ecu-button--white { flex:0 0 auto; background:#fff; color:#181818 !important; }.ecu-button--white:hover { background:#dededb; }
@media (max-width:900px) { .ecu-hero__grid,.ecu-about__grid { grid-template-columns:1fr; gap:48px; }.ecu-hero--no-photo .ecu-hero__grid { grid-template-columns:1fr; }.ecu-console,.ecu-hero__photo { max-width:510px; width:100%; }.ecu-products__grid { grid-template-columns:repeat(2,1fr); }.ecu-proof__grid { grid-template-columns:repeat(2,1fr); }.ecu-proof__grid>div:nth-child(3) { border-left:1px solid #d8d8d5; }.ecu-journal__grid { grid-template-columns:repeat(2,1fr); }.ecu-contact__inner { align-items:flex-start; flex-direction:column; } }
@media (max-width:600px) { .ecu-container { width:min(100% - 32px,1180px); }.ecu-section { padding:55px 0; }.ecu-hero { padding:58px 0 45px; }.ecu-home h1 { font-size:43px; }.ecu-home h2 { font-size:35px; }.ecu-lead { font-size:16px; }.ecu-hero__facts { display:block; margin-top:24px; }.ecu-hero__facts li { margin-bottom:6px; }.ecu-console { min-height:324px; }.ecu-hero-card { min-height:310px; }.ecu-hero-card__content { right:14px; bottom:14px; left:14px; padding:18px; }.ecu-console__bar,.ecu-console__body { left:25px; }.ecu-console__body { min-height:238px; padding:26px 21px; }.ecu-console__tag { bottom:0; width:175px; }.ecu-console__body>strong { font-size:23px; }.ecu-console__line { margin-top:9px; padding-top:11px; }.ecu-proof__grid,.ecu-services__grid,.ecu-products__grid,.ecu-journal__grid { grid-template-columns:1fr; }.ecu-proof__grid>div,.ecu-proof__grid>div:nth-child(3) { border-right:1px solid #d8d8d5; border-left:1px solid #d8d8d5; }.ecu-heading--row { align-items:flex-start; flex-direction:column; }.ecu-service { min-height:220px; padding:23px; }.ecu-about__visual { min-height:310px; }.ecu-about__caption { right:15px; bottom:15px; left:15px; padding:17px; }.ecu-swap-list a { grid-template-columns:70px 1fr auto; gap:10px; }.ecu-swap-list b { font-size:15px; }.ecu-contact { padding:52px 0; }.ecu-button { min-height:50px; }.ecu-actions .ecu-button { width:100%; }.ecu-product__image { height:200px; } }
