/* GrosPrint landing v2 — shared structure styles for competitor-structure variants (J–M). Uses colors_and_type.css tokens. */
body{margin:0;background:#fff;color:var(--color-ink);font-family:var(--font-primary)}
a{color:var(--color-brand-blue)}a:hover{color:var(--color-blue-pressed)}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.bar{display:flex;align-items:center;gap:20px;height:72px}
.logo{display:flex;gap:10px;align-items:center;font-weight:600;font-size:20px;letter-spacing:-.5px;color:var(--color-ink);text-decoration:none}.logo img{width:30px;height:30px}.logo .brand-logo{width:224px;height:auto}@media(max-width:900px){.logo .brand-logo{width:190px}}@media(max-width:380px){.logo .brand-logo{width:166px}}
.bar nav{display:flex;gap:22px;margin-left:auto;font-size:14px;font-weight:500}.bar nav a{color:var(--color-slate);text-decoration:none;white-space:nowrap}@media(max-width:1080px){.bar nav{display:none}.bar .ls{margin-left:auto}}
.ls{display:flex;gap:2px;border:1px solid var(--color-hairline);border-radius:999px;padding:3px}.ls button{border:0;background:none;font:600 11px var(--font-primary);color:var(--color-steel);border-radius:999px;padding:5px 8px;cursor:pointer}.ls button[aria-pressed=true]{background:var(--color-ink);color:#fff}
.btn{display:inline-flex;align-items:center;border:0;background:var(--color-ink);color:#fff;font:500 15px var(--font-primary);border-radius:999px;padding:14px 22px;cursor:pointer;white-space:nowrap;text-decoration:none}.btn:hover{background:var(--color-charcoal);color:#fff}
.btn.ghost{background:none;color:var(--color-ink);border:1px solid var(--color-hairline-strong)}.btn.ghost:hover{background:var(--color-surface);color:var(--color-ink)}
h1{font-size:clamp(44px,5.8vw,76px);font-weight:500;line-height:1.02;letter-spacing:-2px;margin:0 0 18px;text-wrap:balance}
h2{font-size:clamp(32px,4vw,44px);font-weight:500;letter-spacing:-1px;line-height:1.1;margin:0 0 12px;text-wrap:balance}
.lede{font-size:19px;line-height:1.5;color:var(--color-slate);margin:0 0 24px;max-width:540px;text-wrap:pretty}
.sub{color:var(--color-slate);font-size:17px;max-width:620px;margin:0 0 36px;line-height:1.5}
.k{font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--color-steel)}
section{padding:80px 0}section.tight{padding-top:0}
.gate-tabs{display:flex;gap:4px;margin-bottom:10px}.gate-tab{border:0;background:none;font:500 14px var(--font-primary);color:var(--color-steel);padding:8px 12px;border-radius:999px;cursor:pointer}.gate-tab[aria-pressed=true]{background:var(--color-surface);color:var(--color-ink)}
.gate-form{display:flex;gap:6px;border:1px solid var(--color-hairline-strong);border-radius:999px;padding:5px;max-width:520px;background:#fff}
.gate-form input{flex:1;min-width:0;border:0;outline:none;font:16px var(--font-primary);padding:0 16px;background:none;color:var(--color-ink)}
.gate-form button{border:0;background:var(--color-ink);color:#fff;font:500 15px var(--font-primary);border-radius:999px;padding:14px 22px;cursor:pointer;white-space:nowrap}.gate-form button:hover{background:var(--color-charcoal)}
.gate-form [data-ok]{display:none;padding:12px 16px;font-weight:500;color:var(--color-success-accent)}.gate-form.is-done input,.gate-form.is-done button{display:none}.gate-form.is-done [data-ok]{display:block}
.gate-hint{font-size:13px;color:var(--color-steel);margin:10px 0 0}.gate-err{font-size:13px;color:#c0392b;margin:6px 0 0}
.end{background:var(--color-ink);color:#fff;border-radius:32px;padding:64px 32px;display:grid;justify-items:center;text-align:center;gap:20px}
.end h2{color:#fff}.end .gate-tab{color:#a5a8b5}.end .gate-tab[aria-pressed=true]{background:#2c2c34;color:#fff}.end .gate-form{border-color:#444;background:#fff}.end .gate-hint{color:#a5a8b5}
.cmp{background:#fff;border-radius:20px;border:1px solid var(--color-hairline-soft);overflow:hidden}
.cmp-h,.cmp-r{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1.2fr);gap:12px;padding:14px 20px;border-top:1px solid var(--color-hairline-soft);font-size:15px;align-items:center}
.cmp-h{border-top:0;background:var(--color-surface-soft);font-weight:600;font-size:13px}.cmp-h .cmp-us{color:var(--color-brand-blue)}.cmp-k{font-weight:500}.cmp-r .cmp-us{font-weight:500}.cmp-them{color:var(--color-steel)}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.card{border-radius:28px;padding:28px;display:flex;flex-direction:column;gap:8px;background:var(--color-surface)}
.card h3{margin:0;font-size:20px;font-weight:500}.card p{margin:0;color:var(--color-charcoal);line-height:1.5;font-size:15px}
.stat b{display:block;font-size:clamp(40px,5vw,64px);font-weight:500;letter-spacing:-1.5px;line-height:1.1}.stat span{color:var(--color-slate);font-size:15px}
.faq{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.faq h4{margin:0 0 6px;font-size:17px;font-weight:500}.faq p{margin:0;color:var(--color-slate);line-height:1.5}
.evo{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:var(--color-surface);border-radius:24px;padding:16px}.evo div{text-align:center;font-size:13px;font-weight:500}.evo img{width:100%;aspect-ratio:1;object-fit:contain}
image-slot{display:block;background:var(--color-surface);border-radius:20px;overflow:hidden}
.logos{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.logos span{border:1px solid var(--color-hairline);border-radius:999px;padding:10px 18px;font-weight:600;font-size:15px;color:var(--color-charcoal)}
footer{padding:32px 0;border-top:1px solid var(--color-hairline-soft);color:var(--color-steel);font-size:13px}footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}footer a{color:inherit}
.credit{opacity:.45;font-size:11px;text-decoration:none}
@media(max-width:900px){.grid2,.grid3,.faq{grid-template-columns:1fr}.grid4{grid-template-columns:1fr 1fr}.bar nav{display:none}.cmp-h,.cmp-r{grid-template-columns:1fr;gap:4px}.cmp-h span:first-child{display:none}}
