/* factori.com homepage redesign — body only; chrome from beta storefront */
.fhome{
  font-family:Figtree,-apple-system,'Segoe UI',sans-serif;
  color:var(--ink,#12263A);
  font-size:15px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.fhome h1,.fhome h2,.fhome h3,.fhome .dsp{font-family:'Bricolage Grotesque',Figtree,sans-serif;margin:0}
.fhome a{color:inherit;text-decoration:none}
.fhome button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
.fhome input,.fhome select{font:inherit}
.fhome p{margin:0}
.fhome ul{margin:0;padding:0}

.fhome{--navy:#0B2E4F;--navy-d:#02245B;--ink:#12263A;--slate:#5A6B7E;--steel:#8A99A8;--mist:#C6D5E3;--line:#E3E8EF;--bg:#F5F7FA;--gold:#C9A227;--gold-bg:#FBF5E3;--green:#1F9D61;--green-bg:#E9F7F0;--orange:#F26B1D;--r:12px;}
.fhome .wrap{max-width:1320px;margin:0 auto;padding:0 24px}
.fhome .ph{position:relative;background:var(--ph,#EEF1F5);overflow:hidden}
.fhome .ph:before{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(255,255,255,.5),rgba(255,255,255,0) 55%)}
.fhome .ph:after{content:'';position:absolute;left:50%;top:50%;width:26%;padding-top:26%;transform:translate(-50%,-50%);border:2px solid rgba(18,38,58,.12);border-radius:14%}
.fhome .ph i{position:absolute;left:50%;top:50%;width:11%;padding-top:11%;transform:translate(-50%,-35%);border-radius:999px;background:rgba(18,38,58,.12)}
.fhome .hscroll{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory}.fhome .hscroll::-webkit-scrollbar{display:none}.fhome .hscroll>*{flex:none;scroll-snap-align:start}
/* ===== hero ===== */
.fhome .hero{background:linear-gradient(110deg,var(--navy-d) 0%,var(--navy) 55%,#154A7A 100%);color:#fff;padding:44px 0 40px;position:relative;overflow:hidden}
.fhome .hero:after{content:'';position:absolute;right:-120px;top:-120px;width:520px;height:520px;border-radius:999px;background:radial-gradient(closest-side,rgba(201,162,39,.22),rgba(201,162,39,0))}
.fhome .hero .wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;align-items:center;position:relative;z-index:1}
.fhome .hero .k{font-size:11.5px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}
.fhome .hero h1{font-size:50px;font-weight:800;letter-spacing:-2px;line-height:1.04;margin-top:12px;color:#fff!important}
.fhome .hero h1 span{color:var(--gold)!important}
.fhome .hero p{font-size:17px;color:#C6D5E3;margin-top:14px;max-width:600px;line-height:1.55}
.fhome .hero p b{color:#fff}
.fhome .hsr{display:flex;height:52px;border-radius:10px;overflow:hidden;background:#fff;margin-top:22px;max-width:620px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.fhome .hsr input{flex:1;border:none;padding:0 16px;font-size:15px;color:var(--ink);outline:none;min-width:0}.fhome .hsr button{background:var(--gold);color:var(--ink);font-weight:800;padding:0 24px}
.fhome .hpop{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:12.5px;color:#9DB3C8}.fhome .hpop a{border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:5px 11px;color:#E3E8EF;font-weight:600}
.fhome .stats{display:flex;gap:30px;margin-top:28px;flex-wrap:wrap}
.fhome .stats div b{display:block;font-family:'Bricolage Grotesque',sans-serif;font-size:32px;font-weight:800;letter-spacing:-1.2px;line-height:1}.fhome .stats div span{display:block;font-size:12.5px;color:#9DB3C8;margin-top:5px;font-weight:600}
.fhome .offers{display:grid;gap:12px}
.fhome .ofc{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:16px 18px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;transition:background .2s}.fhome .ofc:hover{background:rgba(255,255,255,.12)}
.fhome .ofc .ic{width:46px;height:46px;border-radius:12px;background:var(--gold);color:var(--ink);display:flex;align-items:center;justify-content:center}.fhome .ofc .ic svg{width:24px;height:24px}
.fhome .ofc b{display:block;font-size:16px;font-weight:800}.fhome .ofc span{display:block;font-size:12.5px;color:#C6D5E3;margin-top:2px;line-height:1.4}
.fhome .ofc em{font-style:normal;font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--gold);white-space:nowrap}

/* ===== sections ===== */
.fhome .sec{padding:44px 0}.fhome .sec.alt{background:var(--bg)}.fhome .sec.navy{background:var(--navy-d);color:#fff}
.fhome .sh{display:flex;align-items:flex-end;gap:16px;margin-bottom:22px}
.fhome .sh h2{font-size:28px;font-weight:800;letter-spacing:-.9px;line-height:1.15}.fhome .sh h2 small{display:block;font-size:12px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold);margin-bottom:6px;font-family:Figtree}
.fhome .sh p{font-size:14.5px;color:var(--slate);margin-top:6px;max-width:720px}.fhome .sec.navy .sh p{color:#C6D5E3}
.fhome .sh .all{margin-left:auto;font-size:14px;font-weight:700;color:var(--navy);white-space:nowrap;border:1px solid var(--mist);padding:9px 14px;border-radius:9px}.fhome .sec.navy .sh .all{color:#fff;border-color:rgba(255,255,255,.3)}

/* product card — matches /products (beta-apl .pc) */
.fhome .pg{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.fhome .pc{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;position:relative;display:flex;flex-direction:column;cursor:pointer;transition:border-color .14s,box-shadow .14s}
.fhome .pc:hover{border-color:var(--steel,#8A99A8);box-shadow:0 6px 20px rgba(11,46,79,.10)}
.fhome .pc .pc-hit{position:absolute;inset:0;z-index:1}
.fhome .pc .thumb{aspect-ratio:1/1;width:100%;flex-shrink:0;overflow:hidden;background:linear-gradient(135deg,#EEF2F7,#DEE5EE);display:block;position:relative}
.fhome .pc .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.fhome .pc .thumb .ph{position:absolute;inset:0}
.fhome .pc .flag{position:absolute;top:8px;left:8px;z-index:2;font-size:10.4px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;border-radius:4px;padding:3px 7px}
.fhome .pc .flag.f-stock{background:var(--green-bg);color:var(--green);border:1px solid rgba(31,157,97,.3)}
.fhome .pc .body{padding:11px 12px 12px;display:flex;flex-direction:column;flex:1;min-width:0}
.fhome .pc .ttl{font-size:13.6px;font-weight:600;color:var(--ink);line-height:1.36;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:37px}
.fhome .pc:hover .ttl{color:var(--orange)}
.fhome .pc .meta{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;margin-top:3px;font-size:11.8px;color:var(--steel);min-width:0}
.fhome .pc .meta-cat{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fhome .pc .meta-proof{margin-top:2px}
.fhome .pc .proof-inline{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 5px;color:var(--slate)}
.fhome .pc .proof-inline span[aria-hidden="true"]{color:var(--steel)}
.fhome .pc .rate{display:flex;align-items:center;flex-wrap:nowrap;gap:5px;margin-top:6px;font-size:11.8px;color:var(--ink);min-width:0}
.fhome .pc .rate .sx{color:var(--gold);letter-spacing:0;font-size:11px;display:inline-flex;align-items:center;gap:0;line-height:1;flex:0 0 auto}
.fhome .pc .rate .sx i{font-size:11px;line-height:1}
.fhome .pc .rate b{font-weight:700;color:var(--ink);flex:0 0 auto;white-space:nowrap}
.fhome .pc .rate > span:not(.sx){color:var(--slate);flex:0 0 auto;white-space:nowrap}
.fhome .pc .yourprice{background:var(--green-bg);border:1px solid rgba(31,157,97,.3);border-radius:7px;padding:7px 9px;margin-top:8px}
.fhome .pc .price{display:flex;align-items:baseline;gap:6px;min-width:0;max-width:100%}
.fhome .pc .price .cur{font-size:12px;color:var(--ink);font-weight:600;position:relative;top:-5px;flex-shrink:0}
.fhome .pc .price .amt{font-family:'Bricolage Grotesque',sans-serif;font-size:20px;font-weight:800;color:var(--ink);letter-spacing:-.8px;line-height:1;min-width:0}
.fhome .pc .price .per{font-size:11.6px;color:var(--slate);flex-shrink:0}
.fhome .pc .foot{margin-top:auto;padding-top:12px;position:relative;z-index:2}
.fhome .pc .btn-cart{width:100%;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;background:var(--orange);color:#fff;border:none;border-radius:9px;font-size:14.5px;font-weight:800;padding:12px 16px;box-shadow:0 3px 12px rgba(242,107,29,.38);white-space:nowrap;text-decoration:none;letter-spacing:.01em}
.fhome .pc .btn-cart:hover{background:#d95a12;color:#fff}

/* shop by category — matches /products cat tiles */
.fhome .catsec{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 16px 17px;margin-bottom:12px}
.fhome .catsec .ch{display:flex;align-items:baseline;gap:11px;margin-bottom:4px}
.fhome .catsec h3{font-size:17px;font-weight:800;color:var(--navy);letter-spacing:-.35px;margin:0}
.fhome .catsec .cd{font-size:12.8px;color:var(--slate);max-width:820px;margin:0 0 12px;line-height:1.55}
.fhome .tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.fhome .tile{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff;transition:.14s;display:flex;flex-direction:column;height:100%;min-width:0}
.fhome .tile:hover{border-color:var(--navy);box-shadow:0 5px 16px rgba(11,46,79,.11);transform:translateY(-1px)}
.fhome .tile .im{aspect-ratio:4/3;background:linear-gradient(135deg,#EDF1F6,#DDE4ED);display:flex;align-items:center;justify-content:center;position:relative;flex:0 0 auto}
.fhome .tile .im img{width:100%;height:100%;object-fit:cover;display:block}
.fhome .tile .rs{position:absolute;bottom:6px;left:6px;background:rgba(255,255,255,.95);border:1px solid rgba(31,157,97,.35);color:var(--green);font-size:9.8px;font-weight:700;letter-spacing:.3px;border-radius:4px;padding:2px 6px;text-transform:uppercase}
.fhome .tile .rs.mto{border-color:rgba(201,162,39,.4);color:#8A6B12;background:var(--gold-bg)}
.fhome .tile .tb{display:flex;flex-direction:column;gap:4px;padding:10px 11px 11px;flex:1 1 auto;min-width:0}
.fhome .tile .tn{font-size:12.8px;font-weight:600;color:var(--ink);line-height:1.3;min-height:1.3em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fhome .tile:hover .tn{color:var(--orange)}
.fhome .tile .tp{margin-top:0;display:flex;align-items:baseline;gap:4px;min-height:22px}
.fhome .tile .tp em{font-style:normal;font-size:10.4px;color:var(--steel);text-transform:uppercase;letter-spacing:.4px;font-weight:600}
.fhome .tile .tp b{font-family:'Bricolage Grotesque',sans-serif;font-size:16px;font-weight:800;color:var(--navy);letter-spacing:-.4px}
.fhome .tile .tmeta{display:block;margin-top:auto;padding-top:2px;font-size:10.4px;color:var(--slate);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fhome .tile .tmeta span[aria-hidden="true"]{color:var(--steel);margin:0 3px}

/* contract manufacturing */
.fhome .cm{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:36px;align-items:center}
.fhome .cm h2{font-size:34px;font-weight:800;letter-spacing:-1.2px;line-height:1.1;color:#fff!important}
.fhome .cm h2 span{color:var(--gold)!important}
.fhome .sec.navy .stp b{color:#fff}
.fhome .cm p{font-size:15.5px;color:#C6D5E3;margin-top:12px;line-height:1.6;max-width:560px}
.fhome .cm .b{display:inline-flex;align-items:center;gap:8px;margin-top:20px;background:var(--gold);color:var(--ink);font-weight:800;padding:14px 22px;border-radius:10px;font-size:15px}
.fhome .cm .b2{display:inline-flex;align-items:center;margin-top:20px;margin-left:10px;border:1px solid rgba(255,255,255,.35);color:#fff;font-weight:700;padding:13px 20px;border-radius:10px}
.fhome .steps{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fhome .stp{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:16px}
.fhome .stp .n{font-family:'Bricolage Grotesque',sans-serif;font-size:26px;font-weight:800;color:var(--gold);line-height:1}
.fhome .stp b{display:block;font-size:15px;font-weight:800;margin-top:8px}.fhome .stp span{display:block;font-size:12.5px;color:#C6D5E3;margin-top:4px;line-height:1.45}
.fhome .caps{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.fhome .caps span{font-size:12px;font-weight:700;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:5px 11px;color:#E3E8EF}

/* trusted by */
.fhome .logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.fhome .lg{height:64px;border:1px solid var(--line);border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--mist)}
.fhome .trow{display:flex;gap:28px;flex-wrap:wrap;margin-top:16px;font-size:13.5px;color:var(--slate)}.fhome .trow b{color:var(--ink)}

/* three offerings / empower */
.fhome .off3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fhome .of{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;position:relative}
.fhome .of .n{position:absolute;right:18px;top:14px;font-family:'Bricolage Grotesque',sans-serif;font-size:40px;font-weight:800;color:var(--line);line-height:1}
.fhome .of b{display:block;font-family:'Bricolage Grotesque',sans-serif;font-size:19px;font-weight:800;letter-spacing:-.4px;padding-right:50px}
.fhome .of p{font-size:13.5px;color:var(--slate);margin-top:8px;line-height:1.55}
.fhome .of ul{list-style:none;margin-top:12px}.fhome .of li{font-size:13px;color:var(--ink);padding:5px 0 5px 20px;position:relative}.fhome .of li:before{content:'';position:absolute;left:0;top:11px;width:8px;height:8px;border-radius:999px;background:var(--gold)}
.fhome .of .go{display:inline-block;margin-top:14px;font-size:13.5px;font-weight:800;color:var(--navy)}
.fhome .quote{margin-top:22px;background:#fff;border-left:4px solid var(--gold);border-radius:10px;padding:18px 22px;font-family:'Bricolage Grotesque',sans-serif;font-size:20px;font-weight:700;letter-spacing:-.3px;color:var(--ink)}
.fhome .emp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.fhome .em{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start}
.fhome .em .ic{width:40px;height:40px;border-radius:10px;background:var(--gold-bg);color:#8A6F16;display:flex;align-items:center;justify-content:center}.fhome .em .ic svg{width:20px;height:20px}
.fhome .em b{display:block;font-size:14.5px;font-weight:800}.fhome .em span{display:block;font-size:13px;color:var(--slate);margin-top:3px;line-height:1.5}

/* engage */
.fhome .eng{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fhome .en{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.fhome .en .ph{height:120px}.fhome .en .in{padding:16px 18px}
.fhome .en b{display:block;font-size:16px;font-weight:800}.fhome .en p{font-size:13.2px;color:var(--slate);margin-top:6px;line-height:1.5}.fhome .en a{display:inline-block;margin-top:10px;font-size:13px;font-weight:800;color:var(--navy)}

/* credentials + values */
.fhome .cred{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.fhome .cr{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.fhome .cr span{display:block;font-size:10.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--steel)}.fhome .cr b{display:block;font-size:12.5px;font-weight:700;margin-top:4px;word-break:break-all}
.fhome .vals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.fhome .vl{border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:18px}
.fhome .vl b{display:block;font-family:'Bricolage Grotesque',sans-serif;font-size:19px;font-weight:800;color:var(--gold)}.fhome .vl span{display:block;font-size:13px;color:#C6D5E3;margin-top:6px;line-height:1.5}

/* media + faq */
.fhome .med{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fhome .mc{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.fhome .mc .ph{height:200px}.fhome .mc .in{padding:14px 16px}.fhome .mc b{display:block;font-size:15px;font-weight:800;line-height:1.3}.fhome .mc span{display:block;font-size:12px;color:var(--slate);margin-top:5px}.fhome .mc a{display:inline-block;margin-top:8px;font-size:13px;font-weight:800;color:var(--navy)}
.fhome .mc .ph.has-img img{object-position:top center}
.fhome .faq{max-width:900px}
.fhome .fq{border-bottom:1px solid var(--line)}.fhome .fq summary{list-style:none;cursor:pointer;padding:14px 30px 14px 0;font-size:15px;font-weight:700;position:relative}.fhome .fq summary::-webkit-details-marker{display:none}.fhome .fq summary:after{content:'';position:absolute;right:6px;top:21px;width:8px;height:8px;border-right:2px solid var(--steel);border-bottom:2px solid var(--steel);transform:rotate(45deg)}.fhome .fq[open] summary:after{transform:rotate(-135deg)}.fhome .fq p{font-size:14px;color:var(--slate);line-height:1.6;padding:0 0 14px;max-width:800px}

@media(max-width:1340px){.fhome .tiles{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1100px){
.fhome .pg{grid-template-columns:repeat(4,1fr)}
.fhome .tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
.fhome .logos{grid-template-columns:repeat(4,1fr)}
.fhome .cred{grid-template-columns:repeat(3,1fr)}
.fhome .vals{grid-template-columns:1fr 1fr}
.fhome .off3,.fhome .emp,.fhome .eng,.fhome .med{grid-template-columns:1fr}
.fhome .hero .wrap{grid-template-columns:1fr}
.fhome .cm{grid-template-columns:1fr}
}
@media(max-width:720px){.fhome .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
.fhome .wrap{padding:0 16px}
.fhome .hero h1{font-size:34px;letter-spacing:-1.2px}
.fhome .stats{gap:18px}
.fhome .stats div b{font-size:24px}
.fhome .pg{grid-template-columns:1fr 1fr;gap:10px}
.fhome .sh{flex-direction:column;align-items:flex-start}
.fhome .sh .all{margin-left:0}
.fhome .steps{grid-template-columns:1fr}
.fhome .cm h2{font-size:26px}
.fhome .sh h2{font-size:23px}
.fhome .logos{grid-template-columns:repeat(2,1fr)}
.fhome .cred{grid-template-columns:1fr 1fr}
.fhome .vals{grid-template-columns:1fr}
}

.fhome .ph.has-img:before,.fhome .ph.has-img:after,.fhome .ph.has-img > i{display:none}
.fhome .ph.has-img img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1}
.fhome a.lg{padding:8px;transition:box-shadow .2s}
.fhome a.lg:hover{box-shadow:0 6px 16px rgba(18,38,58,.1)}
.fhome .lg img{max-height:40px;max-width:88%;object-fit:contain}
.fhome .mc .ph.has-img{height:200px}
.fhome .fq .answer-body{font-size:14px;color:var(--slate);line-height:1.6;padding:0 0 14px;max-width:800px}
.fhome .fq .answer-body p{margin:0 0 10px}
body.beta-storefront.fhome-page #spinner{display:none!important}

/* Navy sections: beat global h1/h2 theme colors (dark ink on navy = invisible) */
.fhome .sec.navy h1,
.fhome .sec.navy h2,
.fhome .sec.navy h3,
.fhome .hero h1,
.fhome .hero h2,
.fhome .cm h2{
  color:#fff!important;
}
.fhome .sec.navy .sh h2 small,
.fhome .hero .k,
.fhome .cm h2 span,
.fhome .hero h1 span{
  color:var(--gold)!important;
}
