/* "Styles we build": small example sites by type of business. */
.sty-grid { display: grid; gap: 26px 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 24px 0 36px; }
@media (min-width: 760px) { .sty-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1080px) { .sty-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.sty { margin: 0; max-width: 270px; justify-self: center; width: 100%; }
.sty-site { border-radius: 14px; overflow: hidden; background: #fff; box-shadow: 0 14px 34px rgba(30, 27, 75, .16), 0 0 0 1px rgba(30, 27, 75, .08); transition: transform .3s ease, box-shadow .3s ease; aspect-ratio: 3 / 4; display: flex; flex-direction: column; }
.sty:hover .sty-site { transform: translateY(-6px) rotate(-.6deg); box-shadow: 0 22px 44px rgba(79, 70, 229, .28), 0 0 0 2px var(--c); }
.sty-nav { display: flex; align-items: center; gap: 6px; padding: 9px 10px; }
.sty-nav b { width: 34%; height: 8px; border-radius: 3px; background: var(--c); margin-right: auto; }
.sty-nav i { width: 12%; height: 5px; border-radius: 3px; background: #cbd5e1; }
.sty-hero { position: relative; flex: 0 0 46%; overflow: hidden; display: flex; flex-direction: column; justify-content: center; gap: 6px; padding: 0 12px; }
.sty-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sty-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15, 12, 41, .78), rgba(15, 12, 41, .1)); z-index: 1; }
.sty-h, .sty-btn { position: relative; z-index: 2; display: block; border-radius: 3px; }
.sty-h { width: 70%; height: 9px; background: #fff; }
.sty-h.short { width: 46%; }
.sty-btn { width: 32%; height: 12px; margin-top: 4px; background: var(--c); border-radius: 4px; }
.sty-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; padding: 10px; }
.sty-tiles i { height: 34px; border-radius: 6px; background: color-mix(in srgb, var(--c) 14%, #fff); border-top: 3px solid var(--c); }
.sty-lines { padding: 0 10px 10px; display: grid; gap: 5px; }
.sty-lines i { height: 5px; border-radius: 3px; background: #e2e8f0; }
.sty-lines i.short { width: 60%; }
/* Looks */
.sty[data-look="dark"] .sty-site { background: #0f0c29; }
.sty[data-look="dark"] .sty-nav i, .sty[data-look="dark"] .sty-lines i { background: #334155; }
.sty[data-look="dark"] .sty-tiles i { background: #1e1b4b; }
.sty[data-look="dark"] .sty-hero { clip-path: polygon(0 0, 100% 0, 100% 86%, 0 100%); }
.sty[data-look="serif"] .sty-hero { align-items: center; text-align: center; }
.sty[data-look="serif"] .sty-hero::before { background: rgba(15, 12, 41, .42); }
.sty[data-look="serif"] .sty-nav { justify-content: center; }
.sty[data-look="serif"] .sty-nav b { margin: 0 8px; width: 26%; order: 2; }
.sty[data-look="serif"] .sty-nav i:first-of-type { order: 1; }
.sty[data-look="serif"] .sty-nav i { order: 3; }
.sty[data-look="serif"] .sty-tiles i { border-radius: 50%; height: auto; aspect-ratio: 1; border: 3px solid var(--c); }
.sty[data-look="split"] .sty-hero { margin: 0 10px; border-radius: 0 0 40px 0; }
.sty[data-look="split"] .sty-hero::before { background: linear-gradient(0deg, color-mix(in srgb, var(--c) 85%, #000), transparent 75%); }
.sty[data-look="split"] .sty-hero { justify-content: flex-end; padding-bottom: 12px; }
.sty figcaption { margin-top: 12px; text-align: center; }
.sty figcaption b { display: block; font-size: 1.12rem; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; background: linear-gradient(100deg, #4f46e5, #7c3aed 50%, #db2777); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sty figcaption span { display: block; font-size: 1.12rem; color: #1e1b4b; line-height: 1.35; margin-top: 2px; }
main > section.tone-dark .sty figcaption span { color: #fff; }
main > section.tone-dark .sty figcaption b { background: linear-gradient(100deg, #67e8f9, #f9a8d4); -webkit-background-clip: text; background-clip: text; }
@media (max-width: 520px) { .sty figcaption b, .sty figcaption span { font-size: 1rem; } .sty-grid { gap: 20px 12px; } }
@media (prefers-reduced-motion: reduce) { .sty-site { transition: none; } }

/* Jazzed: depth, a glowing gradient frame and a tilt towards the pointer (js/fx.js). */
.sty { perspective: 900px; }
.sty-site { position: relative; transform-style: preserve-3d; transition: transform .25s ease-out, box-shadow .3s; }
.sty-site::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; box-shadow: inset 0 0 0 3px transparent; transition: box-shadow .3s; }
.sty:hover .sty-site { box-shadow: 0 30px 60px rgba(79, 70, 229, .45), 0 0 0 3px var(--c), 0 0 40px color-mix(in srgb, var(--c) 60%, transparent); }
.sty-hero img { transition: transform .8s cubic-bezier(.2, .8, .2, 1); }
.sty:hover .sty-hero img { transform: scale(1.08); }
.sty figcaption b { font-size: 1.2rem; }
.sty-grid { gap: 34px 22px; }
@media (prefers-reduced-motion: reduce) { .sty-hero img, .sty-site { transition: none; } .sty:hover .sty-hero img { transform: none; } }
