.ts-hero-split{display:flex;flex-direction:column;gap:2rem;align-items:flex-start}.ts-split-text{flex:1 1}.ts-split-text h2{font-size:1.75rem;font-weight:700;margin-bottom:1rem}.ts-split-text p{line-height:1.75;margin-bottom:.9rem;font-size:1rem}.ts-split-image{flex:1 1;width:100%}.ts-hero-img{width:100%;height:auto;border-radius:16px;display:block;object-fit:cover;box-shadow:0 12px 40px rgba(0,0,0,.15);transition:transform .4s ease,box-shadow .4s ease}.ts-hero-img:hover{transform:scale(1.02);box-shadow:0 20px 60px rgba(0,0,0,.2)}.ts-img-caption{text-align:center;font-size:.82rem;margin-top:.6rem;font-style:italic;opacity:.65}.ts-badge-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.ts-badge{display:inline-block;background:#e8f0fe;color:#0d6efd;border:1px solid #b8d0fc;padding:.3rem .85rem;border-radius:50px;font-size:.82rem;font-weight:600;letter-spacing:.3px;transition:background .2s ease,color .2s ease}.dark .ts-badge{background:#1a2a4a;color:#93bbfd;border-color:#2d4a80}.ts-gallery-section h2{font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.ts-gallery-intro{margin-bottom:1.75rem;font-size:1rem;line-height:1.65;max-width:720px}.ts-gallery-grid{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem}.ts-gallery-item{position:relative;overflow:hidden;border-radius:12px;cursor:pointer;background:#eee;aspect-ratio:4/3}.ts-gallery-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.ts-gallery-item:hover .ts-gallery-img{transform:scale(1.07)}.ts-gallery-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,30,80,.72) 0,transparent 55%);display:flex;align-items:flex-end;padding:1rem 1.1rem;opacity:0;transition:opacity .35s ease}.ts-gallery-item:hover .ts-gallery-overlay{opacity:1}.ts-gallery-overlay span{color:#fff;font-size:.9rem;font-weight:600;letter-spacing:.3px;text-shadow:0 1px 4px rgba(0,0,0,.5)}.ts-banner-section{margin-bottom:1.5rem;overflow:hidden}.ts-banner-img-wrap{position:relative;width:100%;border-radius:16px;overflow:hidden;aspect-ratio:16/7}.ts-banner-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.ts-banner-img-wrap:hover .ts-banner-img{transform:scale(1.03)}.ts-banner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,30,80,.75) 0,rgba(10,30,80,.25) 60%,transparent);display:flex;flex-direction:column;justify-content:center;padding:2rem 2.5rem;color:#fff}.ts-banner-overlay h3{font-size:1.4rem;font-weight:700;margin-bottom:.65rem;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.4);max-width:480px}.ts-banner-overlay p{font-size:.95rem;color:rgba(255,255,255,.88);max-width:420px;line-height:1.6}@media (min-width:600px){.ts-gallery-grid{grid-template-columns:repeat(2,1fr);gap:1.1rem}}@media (min-width:900px){.ts-hero-split{flex-direction:row;align-items:center;gap:3rem}.ts-split-image,.ts-split-text{flex:1 1 48%}.ts-split-text h2{font-size:2rem}.ts-gallery-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:240px;gap:1.1rem}.ts-gallery-item{aspect-ratio:unset}.ts-span-tall{grid-row:span 2}.ts-span-wide{grid-column:span 2}.ts-banner-img-wrap{aspect-ratio:16/5}.ts-banner-overlay h3{font-size:1.8rem}.ts-banner-overlay p{font-size:1rem}}@media (min-width:1200px){.ts-gallery-grid{grid-auto-rows:280px}.ts-banner-overlay h3{font-size:2rem;max-width:560px}.ts-banner-overlay p{font-size:1.05rem;max-width:480px}}