.fx-home { --home-accent:#77deea; --home-panel:#0d2030; --home-band:#0a1927; background:#07121e; color:var(--foreground); }
:root[data-theme="light"] .fx-home { --home-accent:#086a78; --home-panel:#fff; --home-band:#edf5f6; background:#f8fbfc; }
.fx-home::before,.fx-home::after { display:none; }
.fx-home .fx-home-wrap { width:min(1280px,calc(100% - 64px)); margin-inline:auto; }
.fx-home main { overflow:clip; }
.fx-home h1,.fx-home h2,.fx-home h3 { margin:0; letter-spacing:-.035em; line-height:1.2; }
.fx-home h1 { font-size:clamp(2rem,3.4vw,3.5rem); max-width:16ch; }
.fx-home h1 em { color:var(--home-accent); font-style:normal; }
.fx-home h2 { font-size:clamp(1.45rem,2.3vw,2.25rem); max-width:28ch; }
.fx-home h3 { font-size:1.08rem; letter-spacing:-.02em; }
.fx-home p { font-size:.96rem; line-height:1.85; color:var(--muted); }
.fx-home .fx-home-kicker { font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--home-accent); margin:0 0 18px; }
.fx-home .fx-home-lead { font-size:1.05rem; max-width:49ch; margin:24px 0; }
.fx-home .fx-home-note { font-size:.78rem; margin-top:22px; }
.fx-home a { text-underline-offset:.25em; }
.fx-home a:focus-visible { outline:2px solid var(--home-accent); outline-offset:5px; border-radius:5px; }
.fx-home figure { margin:0; }
.fx-home figure>img { width:100%; height:auto; object-fit:cover; display:block; }
.fx-home figcaption { font-size:.65rem; line-height:1.5; color:var(--muted); padding:9px 14px; }
.fx-home-hero { display:grid; grid-template-columns:.95fr 1.05fr; gap:56px; align-items:center; padding-block:64px 80px; }
.fx-home-hero-art { border:1px solid var(--border); border-radius:24px; overflow:hidden; background:var(--home-panel); }
.fx-home-actions { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.fx-home-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:14px 18px; min-height:48px; border-radius:10px; background:var(--home-accent); color:#07121e; text-decoration:none; font-size:.85rem; font-weight:700; border:1px solid transparent; }
:root[data-theme="light"] .fx-home-button { color:#fff; }
.fx-home-button.secondary { background:transparent; border-color:var(--border); color:var(--foreground); }
:root[data-theme="light"] .fx-home-button.secondary { color:var(--foreground); }
.fx-home-button svg { width:17px; height:17px; }
.fx-home-intro { border-top:1px solid var(--border); padding-block:60px; }
.fx-home-intro>p:last-child { max-width:65ch; }
.fx-home-section-heading { margin-bottom:28px; }
.fx-home-needs { display:flex; flex-wrap:wrap; gap:10px; margin:30px 0 16px; }
.fx-home-needs a { display:inline-flex; align-items:center; gap:8px; border:1px solid var(--border); padding:10px 14px; border-radius:999px; text-decoration:none; font-size:.8rem; color:var(--foreground); background:var(--home-panel); }
.fx-home-needs svg { width:17px; height:17px; color:var(--home-accent); }
.fx-home-group { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center; padding:64px 0; border-bottom:1px solid var(--border); scroll-margin-top:110px; }
.fx-home-group-story>p:not(.fx-home-kicker) { max-width:46ch; }
.fx-home-group-story figure { margin-top:24px; border-radius:18px; overflow:hidden; max-width:460px; background:var(--home-panel); }
.fx-home-group:nth-child(even) .fx-home-group-story { order:2; }
.fx-home-card-list { display:grid; gap:10px; }
.fx-home-card { display:grid; grid-template-columns:40px 1fr; gap:17px; border:1px solid var(--border); border-radius:14px; padding:20px; background:var(--home-panel); text-decoration:none; color:var(--foreground); transition:border-color .15s,background .15s; }
.fx-home-card:hover { border-color:var(--home-accent); }
.fx-home-card>img { width:40px; height:40px; object-fit:contain; }
.fx-home-card-title { display:flex; justify-content:space-between; gap:15px; }
.fx-home-card-title>svg { flex-shrink:0; width:17px; height:17px; color:var(--home-accent); }
.fx-home-card p { margin:8px 0; font-size:.86rem; line-height:1.65; }
.fx-home-card span { color:var(--home-accent); font-size:.72rem; }
.fx-home-training-link>svg { color:var(--home-accent); }
.fx-home-band { background:var(--home-band); padding:64px 0; margin:64px 0; border-block:1px solid var(--border); }
.fx-home-steps { list-style:none; padding:0; margin:32px 0 0; display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.fx-home-steps span { display:block; color:var(--home-accent); font-size:.8rem; border-top:1px solid var(--border); padding:20px 0; }
.fx-home-training { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:64px; padding:30px 0 70px; }
.fx-home-training figure { border-radius:20px; overflow:hidden; }
.fx-home-development { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.fx-home-development>a { padding:28px; border:1px solid var(--border); border-radius:16px; text-decoration:none; color:var(--foreground); }
.fx-home-development h3 { display:flex; justify-content:space-between; gap:20px; }
.fx-home-development svg { width:18px; height:18px; }
.fx-home-final { display:grid; grid-template-columns:1.35fr .65fr; gap:40px; align-items:center; border:1px solid var(--border); background:var(--home-panel); border-radius:22px; padding:32px 40px; margin-block:70px!important; }
.fx-home .fx-home-final h2 { font-size:clamp(1.4rem,2vw,1.9rem); max-width:27ch; }
.fx-home-final p { max-width:52ch; }
.fx-home-final figure { max-width:310px; border-radius:14px; overflow:hidden; justify-self:end; }
.fx-home-footer { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding:46px max(32px,calc((100% - 1280px)/2)); background:var(--home-band); }
.fx-home-footer-brand>img { vertical-align:middle; margin-right:10px; }
.fx-home-footer-brand>strong { color:var(--foreground); font-size:1.1rem; }
.fx-home-footer-brand>p { font-size:.8rem; }
.fx-home-footer nav,.fx-home .fx-home-footer .fx-legal-links { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin:0; padding:0; border:0; font-size:.8rem; line-height:1.6; }
.fx-home-footer nav>strong { color:var(--foreground); margin-bottom:4px; }
.fx-home-footer nav>a { color:var(--muted); }
.fx-home-footer-end { grid-column:1/-1; display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; border-top:1px solid var(--border); padding-top:24px; font-size:.72rem; }
@media(max-width:900px) { .fx-home-hero,.fx-home-group,.fx-home-training { gap:30px; } .fx-home-footer { gap:28px; } }
@media(max-width:700px) {
 .fx-home .fx-home-wrap { width:calc(100% - 36px); }
 .fx-home-hero { grid-template-columns:1fr; padding-block:36px; }
 .fx-home h1 { font-size:2rem; max-width:20ch; }
 .fx-home-group,.fx-home-training,.fx-home-development,.fx-home-steps,.fx-home-final { grid-template-columns:1fr; }
 .fx-home-group { gap:24px; padding:40px 0; } .fx-home-group:nth-child(even) .fx-home-group-story { order:0; }
 .fx-home-group-story figure { max-width:none; } .fx-home-card { padding:17px; }
 .fx-home-intro { padding-block:36px; } .fx-home-band { margin:40px 0; padding:36px 0; }
 .fx-home-final { padding:24px; gap:24px; margin-block:40px!important; }
 .fx-home-final figure { max-width:220px; justify-self:start; }
 .fx-home-footer { grid-template-columns:1fr 1fr; padding:32px 24px; }
 .fx-home-footer-brand,.fx-home-footer-end { grid-column:1/-1; }
 .fx-home .fx-home-footer .fx-legal-links a { padding:0; min-height:0; }
 .fx-home-footer nav>a { min-height:44px!important; display:flex; align-items:center; }
}
