/* Homepage only: no rules target the header, footer or interior pages. */
.faber-home-visual { --fh-ink:#0f1f33; --fh-cream:#f6f3ed; --fh-yellow:#f2b705; color:var(--fh-ink); background:var(--fh-cream); width:100%; max-width:none!important; margin:0; font-family:Inter,system-ui,sans-serif; line-height:1.65; }
.faber-home-visual *, .faber-home-visual *::before, .faber-home-visual *::after { box-sizing:border-box; }
.faber-home-visual .fh-wrap { width:min(1280px,calc(100% - 64px)); margin-inline:auto; }
.faber-home-visual .fh-section { padding-block:clamp(64px,7vw,104px); }
.faber-home-visual h1,.faber-home-visual h2,.faber-home-visual h3 { color:inherit; font-family:inherit; margin:0; letter-spacing:-.045em; text-wrap:balance; }
.faber-home-visual h1 { font-size:clamp(42px,5.2vw,74px); line-height:1.03; font-weight:800; }
.faber-home-visual h2 { font-size:clamp(32px,3.8vw,52px); line-height:1.08; font-weight:800; }
.faber-home-visual h3 { font-size:25px; line-height:1.2; letter-spacing:-.025em; }
.faber-home-visual h1 em,.faber-home-visual h2 em { font-family:'Instrument Serif',Georgia,serif; font-weight:400; }
.faber-home-visual p { margin:20px 0; max-width:none; }
.faber-home-visual .fh-kicker { font-size:11px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; margin:0 0 24px; }
.faber-home-visual .fh-hero { display:grid; grid-template-columns:1.03fr 1fr; align-items:center; gap:clamp(24px,4vw,64px); padding-block:clamp(48px,6vw,88px); }
.faber-home-visual .fh-lead { font-size:18px; max-width:47ch; margin-block:26px; color:#425065; }
.faber-home-visual .fh-actions { display:flex; gap:22px; align-items:center; flex-wrap:wrap; margin-block:26px; }
.faber-home-visual a { color:inherit; }
.faber-home-visual .fh-button { display:inline-flex; justify-content:center; align-items:center; gap:22px; padding:15px 21px; border:1px solid var(--fh-ink); border-radius:7px; background:var(--fh-yellow); color:var(--fh-ink); font-size:14px; font-weight:750; text-decoration:none; box-shadow:3px 3px 0 var(--fh-ink); transition:transform .2s,box-shadow .2s; min-height:48px; }
.faber-home-visual .fh-text-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.faber-home-visual a:focus-visible { outline:3px solid #367bb9; outline-offset:6px; }
.faber-home-visual .fh-price { font-size:14px; margin:24px 0 0; }
.faber-home-visual .fh-price strong { font-size:21px; }
.faber-home-visual .fh-price small { display:block; font-size:11px; line-height:1.6; margin-top:5px; color:#536173; }
.faber-home-visual .fh-stage { position:relative; padding:24px; border:1px solid #c8d7dd; border-radius:24px; background:radial-gradient(ellipse at 70% 25%,#fff 0,transparent 60%),linear-gradient(140deg,#e6eef0,#ddebf4); box-shadow:0 22px 60px -38px #0f1f3366; }
.faber-home-visual .fh-stage-head { display:flex; align-items:center; gap:8px; font-size:16px; font-weight:800; }
.faber-home-visual .fh-stage-head > span:last-child { font-size:10px; font-weight:500; margin-left:auto; }
.faber-home-visual .fh-dot { width:7px; height:7px; border-radius:50%; background:#2f6e57; flex-shrink:0; }
.faber-home-visual .fh-product { position:relative; aspect-ratio:1.5; overflow:hidden; margin:12px -12px; }
.faber-home-visual .fh-product img { width:100%; height:auto; position:absolute; top:50%; left:0; transform:translateY(-54%); filter:drop-shadow(0 18px 10px #0f1f3330); }
.faber-home-visual .fh-orbit { position:absolute; width:82%; height:64%; left:9%; top:16%; border:1px solid #b4c9d5; border-radius:50%; transform:rotate(-18deg); }
.faber-home-visual .fh-tags { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; position:relative; }
.faber-home-visual .fh-tags > span { flex:1 1 65px; text-align:center; padding:9px 5px; border:1px solid #c5d3da; border-radius:9px; background:#ffffffb8; font-size:12px; font-weight:750; }
.faber-home-visual .fh-tags small { display:block; font-size:9px; font-weight:500; }
.faber-home-visual .fh-stage-caption { text-align:center; font-size:10px; line-height:1.6; color:#536173; margin:16px 0 0; }
.faber-home-visual .fh-ribbon { border-block:1px solid #0f1f3326; }
.faber-home-visual .fh-ribbon .fh-wrap { display:flex; justify-content:space-between; gap:18px; padding-block:22px; font-size:12px; font-weight:600; }
.faber-home-visual .fh-ribbon b { color:#786000; margin-right:9px; font-size:11px; }
.faber-home-visual .fh-section-heading { max-width:760px; margin-bottom:40px; }
.faber-home-visual .fh-section-heading > p:last-child { max-width:61ch; color:#425065; }
.faber-home-visual .fh-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.faber-home-visual .fh-cards article { display:flex; flex-direction:column; padding:30px; background:#fffcf7; border:1px solid #0f1f3324; border-radius:14px; transition:transform .25s,box-shadow .25s; }
.faber-home-visual .fh-step { font-size:10px; font-weight:700; letter-spacing:.1em; margin-bottom:24px; color:#536173; }
.faber-home-visual .fh-cards p { font-size:15px; line-height:1.7; color:#425065; }
.faber-home-visual .fh-card-label { border-top:1px solid #0f1f331c; padding-top:18px; margin-top:auto; font-size:11px; font-weight:650; }
.faber-home-visual .fh-demo { background:var(--fh-ink); color:#fff; scroll-margin-top:24px; }
.faber-home-visual .fh-demo-heading { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:end; margin-bottom:44px; }
.faber-home-visual .fh-demo-heading > div:last-child { max-width:46ch; color:#d5dfe9; }
.faber-home-visual .fh-demo .fh-kicker { color:#f2c344; }
.faber-home-visual .fh-screen { margin:0; overflow:hidden; border:1px solid #6b7886; border-radius:12px; background:#15273c; box-shadow:0 25px 55px #0003; }
.faber-home-visual .fh-screen-bar { display:flex; align-items:center; gap:7px; padding:14px 20px; }
.faber-home-visual .fh-screen-bar i { width:7px; height:7px; background:#708293; border-radius:50%; }
.faber-home-visual .fh-screen-bar span { font-size:9px; letter-spacing:.12em; margin-left:12px; color:#c5d3df; }
.faber-home-visual .fh-screen a { display:block; }
.faber-home-visual .fh-screen img { display:block; width:100%; height:auto; }
.faber-home-visual .fh-screen figcaption { padding:15px 20px; font-size:11px; line-height:1.6; color:#c5d3df; }
.faber-home-visual .fh-life { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,6vw,88px); align-items:center; }
.faber-home-visual .fh-life figure { margin:0; }
.faber-home-visual .fh-life img { width:100%; height:auto; display:block; border-radius:16px; }
.faber-home-visual .fh-life figcaption { font-size:10px; color:#536173; padding:12px 0; }
.faber-home-visual .fh-life p { font-size:15px; }
.faber-home-visual .fh-note { font-size:12px!important; color:#536173; line-height:1.7; }
.faber-home-visual .fh-story { border-block:1px solid #0f1f3324; background:#e7eef1; }
.faber-home-visual .fh-story-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.faber-home-visual .fh-quote { font-family:Georgia,serif; font-style:italic; font-size:25px; line-height:1.4; margin-top:0; }
.faber-home-visual .fh-offer-price { font-size:17px; margin-top:auto; padding-block:14px; }
.faber-home-visual .fh-offers article:first-child { border-top:4px solid var(--fh-yellow); }
.faber-home-visual .fh-contact { background:#ddebf4; text-align:center; }
.faber-home-visual .fh-contact .fh-button { margin:12px 0 28px; }
.faber-home-visual .fh-local { font-size:12px; line-height:1.9; }
.faber-home-visual .fh-contact .fh-kicker { color:#425065; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 .faber-home-visual .fh-button:hover { transform:translateY(-3px); box-shadow:3px 6px 0 var(--fh-ink); }
 .faber-home-visual .fh-cards article:hover { transform:translateY(-5px); box-shadow:0 14px 32px -20px #0f1f3355; }
}
@media (max-width:900px) {
 .faber-home-visual .fh-wrap { width:calc(100% - 40px); }
 .faber-home-visual .fh-hero { grid-template-columns:1fr; gap:36px; }
 .faber-home-visual .fh-hero-copy { max-width:650px; }
 .faber-home-visual .fh-stage { width:100%; max-width:630px; margin-inline:auto; }
 .faber-home-visual .fh-cards { gap:12px; }
 .faber-home-visual .fh-cards article { padding:22px; }
 .faber-home-visual .fh-demo-heading,.faber-home-visual .fh-life,.faber-home-visual .fh-story-grid { gap:32px; }
}
@media (max-width:640px) {
 .faber-home-visual .fh-wrap { width:calc(100% - 36px); }
 .faber-home-visual .fh-hero { padding-block:36px 44px; }
 .faber-home-visual .fh-kicker { font-size:10px; margin-bottom:20px; }
 .faber-home-visual .fh-lead { font-size:16px; }
 .faber-home-visual .fh-stage { padding:18px; border-radius:16px; }
 .faber-home-visual .fh-stage-head > span:last-child { max-width:130px; text-align:right; }
 .faber-home-visual .fh-tags > span { flex-basis:65px; }
 .faber-home-visual .fh-ribbon .fh-wrap { flex-direction:column; gap:10px; padding-block:18px; }
 .faber-home-visual .fh-cards,.faber-home-visual .fh-demo-heading,.faber-home-visual .fh-life,.faber-home-visual .fh-story-grid { grid-template-columns:1fr; }
 .faber-home-visual .fh-cards article { padding:26px; }
 .faber-home-visual .fh-section { padding-block:54px; }
 .faber-home-visual .fh-actions { gap:15px; }
 .faber-home-visual .fh-actions .fh-button { width:100%; }
 .faber-home-visual .fh-screen-bar { padding:12px; }
 .faber-home-visual .fh-screen figcaption { padding:14px; }
}
@media (prefers-reduced-motion:reduce) {
 .faber-home-visual *, .faber-home-visual *::before, .faber-home-visual *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
 html:has(.faber-home-visual) { scroll-behavior:auto!important; }
}
