/* TANFLEX Homepage — Product Family Spotlight / definitive luxury treatment */
.tanflex-front .tfx-product-family{position:relative;isolation:isolate;overflow:hidden;padding:92px 0 102px;background:radial-gradient(circle at 82% 34%,rgba(103,220,234,.09),transparent 30%),#f5f9fc;border-block:1px solid rgba(7,31,68,.05)}
.tanflex-front .tfx-product-family__shell{position:relative;display:grid;grid-template-columns:minmax(0,41fr) minmax(0,59fr);gap:64px;align-items:center;padding:56px;overflow:hidden;border:1px solid rgba(7,31,68,.075);border-radius:28px;background:rgba(255,255,255,.96);box-shadow:0 28px 70px rgba(5,28,65,.055)}
.tanflex-front .tfx-product-family__shell:before{content:"";position:absolute;inset:0 auto auto 0;width:38%;height:2px;background:linear-gradient(90deg,#0a63d8,#67ddeb 58%,transparent)}
.tanflex-front .tfx-product-family__content,.tanflex-front .tfx-product-family__visual-wrap{position:relative;z-index:1;min-width:0}
.tanflex-front .tfx-product-family__eyebrow{margin-bottom:18px;color:#0a63d8;font-size:11px;font-weight:900;letter-spacing:.18em}
.tanflex-front .tfx-product-family__eyebrow:before{width:24px;background:linear-gradient(90deg,#0a63d8,#67ddeb)}
.tanflex-front .tfx-product-family__title{max-width:520px;margin:0;color:#071b3d;font-size:clamp(42px,4vw,58px);font-weight:780;line-height:1.04;letter-spacing:-.04em;text-wrap:balance}
.tanflex-front .tfx-product-family__intro{max-width:500px;margin:20px 0 0;color:#61758a;font-size:17px;line-height:1.7}
.tanflex-front .tfx-product-family__feature-list{display:grid;max-width:520px;margin-top:30px;border-top:1px solid rgba(7,31,68,.07)}
.tanflex-front .tfx-product-family__feature-item{display:grid;grid-template-columns:44px minmax(0,1fr) 20px;gap:16px;align-items:center;min-height:76px;padding:15px 2px;border-bottom:1px solid rgba(7,31,68,.07);transition:transform .32s cubic-bezier(.2,.7,.2,1),border-color .32s ease}
.tanflex-front .tfx-product-family__feature-icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(10,99,216,.1);border-radius:14px;color:#0a63d8;background:#eef8ff;box-shadow:inset 0 1px 0 rgba(255,255,255,.9);transition:background .32s ease,border-color .32s ease}
.tanflex-front .tfx-product-family__feature-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tanflex-front .tfx-product-family__feature-copy strong{display:block;color:#102f50;font-size:15px;font-weight:790;line-height:1.3;transition:color .32s ease}
.tanflex-front .tfx-product-family__feature-copy span{display:block;margin-top:4px;color:#708196;font-size:12.5px;line-height:1.45}
.tanflex-front .tfx-product-family__feature-arrow{color:#0a63d8;font-size:17px;line-height:1;transition:transform .32s cubic-bezier(.2,.7,.2,1)}
.tanflex-front .tfx-product-family__actions{margin-top:30px}
.tanflex-front .tfx-product-family__cta{min-height:51px;padding-inline:24px;box-shadow:0 12px 26px rgba(7,27,61,.12)}
.tanflex-front .tfx-product-family__visual-wrap:before{content:"";position:absolute;z-index:-1;inset:8% -8% -10% 10%;border-radius:50%;background:radial-gradient(circle,rgba(29,137,211,.16),transparent 68%);filter:blur(22px)}
.tanflex-front .tfx-product-family__visual-stage{position:relative;overflow:hidden;padding:14px;border:1px solid rgba(255,255,255,.15);border-radius:26px;background:linear-gradient(145deg,#071f50,#0b438f 55%,#0c64a9);box-shadow:0 30px 70px rgba(4,24,58,.14),inset 0 1px 0 rgba(255,255,255,.14)}
.tanflex-front .tfx-product-family__visual-stage:before{content:"";position:absolute;z-index:2;left:24px;top:15px;width:56px;height:2px;background:linear-gradient(90deg,#67ddeb,transparent);pointer-events:none}
.tanflex-front .tfx-product-family__media{position:relative;display:grid;place-items:center;min-height:410px;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:rgba(255,255,255,.025)}
.tanflex-front .tfx-product-family__image{display:block;width:100%;height:100%;min-height:410px;aspect-ratio:16/9;object-fit:contain;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover) and (pointer:fine){.tanflex-front .tfx-product-family__feature-item:hover{transform:translateX(3px);border-color:rgba(10,99,216,.2)}.tanflex-front .tfx-product-family__feature-item:hover .tfx-product-family__feature-icon{background:#e2f2ff;border-color:rgba(10,99,216,.18)}.tanflex-front .tfx-product-family__feature-item:hover .tfx-product-family__feature-copy strong{color:#061a3c}.tanflex-front .tfx-product-family__feature-item:hover .tfx-product-family__feature-arrow{transform:translateX(4px)}.tanflex-front .tfx-product-family__visual-stage:hover .tfx-product-family__image{transform:scale(1.012)}}
@media (max-width:1100px){.tanflex-front .tfx-product-family{padding:82px 0 92px}.tanflex-front .tfx-product-family__shell{grid-template-columns:1fr;gap:42px;padding:48px}.tanflex-front .tfx-product-family__content,.tanflex-front .tfx-product-family__feature-list{max-width:680px}}
@media (max-width:760px){.tanflex-front .tfx-product-family{padding:66px 0 74px}.tanflex-front .tfx-product-family__shell{gap:34px;padding:28px 22px;border-radius:22px}.tanflex-front .tfx-product-family__title{font-size:clamp(36px,10vw,46px)}.tanflex-front .tfx-product-family__intro{font-size:16px;line-height:1.68}.tanflex-front .tfx-product-family__feature-item{grid-template-columns:42px minmax(0,1fr) 18px;gap:13px;min-height:70px;padding-block:13px}.tanflex-front .tfx-product-family__feature-icon{width:42px;height:42px;border-radius:13px}.tanflex-front .tfx-product-family__actions{margin-top:26px}.tanflex-front .tfx-product-family__visual-stage{padding:9px;border-radius:21px}.tanflex-front .tfx-product-family__media{min-height:220px;border-radius:16px}.tanflex-front .tfx-product-family__image{min-height:220px}}
@media (prefers-reduced-motion:reduce){.tanflex-front .tfx-product-family__feature-item,.tanflex-front .tfx-product-family__feature-icon,.tanflex-front .tfx-product-family__feature-arrow,.tanflex-front .tfx-product-family__image{transition:none!important;transform:none!important}}
