*{box-sizing:border-box}body{margin:0;background:#050b17;color:#eef3ff;font-family:Inter,system-ui,Arial,sans-serif}a{color:inherit;text-decoration:none}.wrap{max-width:1200px;margin:auto;padding:0 22px}.top{position:sticky;top:0;z-index:10;background:#071225eF;border-bottom:1px solid #25334a}.nav{height:72px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;font-weight:800;font-size:24px;margin-right:auto}.heart{width:42px;height:36px;display:grid;place-items:center;background:linear-gradient(135deg,#ff4d9a,#8a5cff);clip-path:polygon(50% 100%,5% 52%,5% 22%,25% 5%,50% 20%,75% 5%,95% 22%,95% 52%)}.brand b{color:#ff4d9a}.navlinks{display:flex;gap:22px}.lang{background:#0d1b31;color:white;border:1px solid #334763;border-radius:9px;padding:9px}.hero{min-height:540px;background:linear-gradient(90deg,rgba(3,8,18,.98) 0%,rgba(3,8,18,.86) 43%,rgba(3,8,18,.15) 72%),url('../img/hero-design.png') center/cover no-repeat;display:flex;align-items:center}.hero h1{font-size:54px;max-width:650px;line-height:1.02;margin:0 0 18px}.hero p{font-size:20px;max-width:620px;color:#ccd6e6}.cta{display:inline-block;margin-top:16px;background:linear-gradient(90deg,#ff3f91,#9c55ff);padding:14px 22px;border-radius:11px;font-weight:800}.section{padding:58px 0}.section h2{font-size:34px;margin:0 0 24px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#0b1628;border:1px solid #263b58;border-radius:18px;overflow:hidden;box-shadow:0 12px 40px #0004}.card img{width:100%;height:250px;object-fit:cover}.pad{padding:18px}.card h3{font-size:25px;margin:0 0 8px}.card p{color:#bfcbe0;min-height:48px}.buttons{display:flex;gap:10px}.btn{flex:1;text-align:center;padding:11px;border-radius:9px;border:1px solid #ff4d9a;font-weight:700}.btn.primary{background:#ff3f91;border-color:#ff3f91}.smart{padding:18px;border-radius:14px;background:#101f35;color:#c9d7ec;margin:20px 0}.compare{width:100%;border-collapse:collapse;background:#0b1628;border-radius:14px;overflow:hidden}.compare th,.compare td{padding:15px;border-bottom:1px solid #263b58;text-align:left}.foot{border-top:1px solid #263b58;padding:35px 0;color:#9fb0c9}.legal{font-size:13px;color:#95a7c2}.badge{font-size:12px;border:1px solid #ff4d9a;border-radius:999px;padding:3px 8px;color:#ff8bbc}.notice{background:#271427;border:1px solid #733052;padding:14px;border-radius:12px}.article{max-width:850px}.article h1{font-size:44px}.article p,.article li{color:#cbd5e6;line-height:1.7}@media(max-width:800px){.navlinks{display:none}.nav{height:62px}.brand{font-size:19px}.heart{width:34px;height:30px}.hero{min-height:610px;background-position:62% center;align-items:flex-end;padding-bottom:45px}.hero h1{font-size:38px;max-width:90%}.hero p{font-size:17px;max-width:90%}.grid{grid-template-columns:1fr}.card img{height:320px}.section{padding:38px 0}.compare{font-size:13px}.compare th,.compare td{padding:10px 7px}.buttons{flex-direction:column}}.image-link{display:block;position:relative;background:#08111f}.image-link img{display:block}.image-cta{position:absolute;right:14px;bottom:14px;background:#071225e8;border:1px solid #ffffff55;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:800;backdrop-filter:blur(8px)}.image-link:hover .image-cta{background:#ff3f91}.card{transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-4px);border-color:#ff4d9a}.table-scroll{overflow-x:auto}.review-hero{width:100%;max-height:480px;object-fit:cover;border-radius:18px;border:1px solid #263b58}.lead{font-size:19px}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;padding-left:22px}.feature-list li{padding:5px 0}.review-disc{margin-top:30px}.nav-back{font-weight:700;color:#cbd5e6}.review-list{display:grid;gap:18px}.review-row{display:grid;grid-template-columns:260px 1fr;gap:24px;background:#0b1628;border:1px solid #263b58;border-radius:18px;overflow:hidden;padding:0 22px 0 0}.review-row img{width:260px;height:190px;object-fit:cover}.review-row h2{margin:20px 0 6px}.review-row p{color:#bfcbe0;line-height:1.55}.review-row strong{color:#ff70ad}@media(max-width:800px){.feature-list{grid-template-columns:1fr}.review-row{grid-template-columns:1fr;padding:0 16px 18px}.review-row img{width:calc(100% + 32px);margin-left:-16px;height:230px}.nav-back{font-size:12px}.image-cta{font-size:12px}}

/* v8: preserve promotional artwork without stretching or aggressive cropping */
.card .image-link{height:250px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,#0a1425,#101d31)}
.card .image-link img{width:100%;height:100%;object-fit:contain;object-position:center center}
.review-hero{height:auto;max-height:560px;object-fit:contain;object-position:center;background:#0a1425}
.source-section{margin:38px 0 14px}.source-section>p{margin-top:-10px}.source-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.source-card{background:#0b1628;border:1px solid #263b58;border-radius:16px;padding:20px}.source-card h3{margin:0 0 10px;font-size:18px}.source-card p{margin:0 0 14px}.source-link{display:inline-block;color:#ff78b3;font-weight:800;border-bottom:1px solid #ff78b366}.source-empty{background:#101f35;border:1px solid #334763;border-radius:14px;padding:18px;color:#c9d7ec}
@media(max-width:800px){.card .image-link{height:300px}.source-grid{grid-template-columns:1fr}.review-hero{max-height:480px}}

/* v9: normalized photo-only card artwork */
.card .image-link{height:250px;overflow:hidden;background:#08111f}
.card .image-link img{width:100%;height:100%;object-fit:fill;object-position:center;display:block}
.review-hero{width:100%;height:auto;max-height:none;object-fit:fill}
@media(max-width:800px){.card .image-link{height:300px}}

/* v11 — keep original photo proportions; fill unused sides with a soft colour/photo backdrop */
.card .image-link{height:250px;position:relative;overflow:hidden;background:#13213a;isolation:isolate}
.card .image-link::before{content:"";position:absolute;inset:-18px;background-image:linear-gradient(rgba(8,17,31,.42),rgba(8,17,31,.42)),var(--card-bg);background-size:cover;background-position:center;filter:blur(18px);transform:scale(1.10);opacity:.72;z-index:0}
.card .image-link img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain!important;object-position:center!important;display:block}
.card .image-cta{z-index:2}
.review-hero{object-fit:contain!important;background:#101d32!important;max-height:560px!important}
@media(max-width:800px){.card .image-link{height:300px}}
/* v12 portfolio refresh */
.hero{padding:58px 0 32px}.hero h1{font-size:clamp(34px,5vw,64px);max-width:900px;margin:8px 0}.hero p{font-size:20px;max-width:850px}.cat-title{margin:36px 0 16px;font-size:28px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.card .media{height:330px;background:#0b1930;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.card .media img{width:100%;height:100%;object-fit:cover;object-position:center}.card .media span{position:absolute;right:18px;bottom:18px;background:#09182d;border:1px solid #56708d;padding:11px 16px;border-radius:28px;font-weight:800}.cardbody{padding:24px}.cardbody h3{font-size:30px;margin:0 0 12px}.cardbody h3 small{font-size:14px;border:1px solid #ff3b8b;border-radius:20px;padding:4px 8px;color:#ff4a98}.cardbody p{min-height:48px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.actions a{text-align:center;border:1px solid #ff3b8b;padding:14px;border-radius:12px;font-weight:800}.actions .primary{background:#ff3b8b;color:white}.seo{margin:50px 0;padding:30px;border:1px solid #243c59;border-radius:20px}.notice{margin-bottom:24px}@media(max-width:760px){.grid{grid-template-columns:1fr}.card .media{height:270px}.actions{grid-template-columns:1fr}.hero{padding-top:32px}}
/* v13 — restore original compact layout and preserve screenshot/photo aspect ratios */
.hero{min-height:540px;padding:0}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.portfolio-grid .card .image-link{height:250px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#101d32;isolation:isolate}.portfolio-grid .card .image-link::before{content:"";position:absolute;inset:-22px;background-image:linear-gradient(rgba(7,18,37,.30),rgba(7,18,37,.30)),var(--card-bg);background-size:cover;background-position:center;filter:blur(20px);transform:scale(1.13);opacity:.82;z-index:0}.portfolio-grid .card .image-link img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain!important;object-position:center!important;display:block}.portfolio-grid .pad{padding:18px}.portfolio-grid .card h3{font-size:25px}.portfolio-grid .card p{min-height:48px}.portfolio-grid .image-cta{z-index:2}.portfolio-grid .buttons{display:flex;gap:10px}.portfolio-grid .btn{padding:11px}.cat-title{display:none}@media(max-width:1000px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.portfolio-grid{grid-template-columns:1fr}.portfolio-grid .card .image-link{height:300px}.portfolio-grid .buttons{flex-direction:column}.hero{min-height:560px}}

/* v14: unique product visuals; no legacy/reused screenshots */
.portfolio-grid .card .image-link{height:250px;background:#08111f}
.portfolio-grid .card .image-link::before{display:none!important}
.portfolio-grid .card .image-link img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
@media(max-width:700px){.portfolio-grid .card .image-link{height:250px}}
/* v15: 5 categories x 2 cards, natural aspect ratio, no stretched faces */
.category-jump{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px}.category-jump a{padding:9px 14px;border:1px solid #334763;border-radius:999px;background:#0b1628;color:#dce7f8;font-weight:700;font-size:14px}.category-jump a:hover{border-color:#ff4d9a}.app-category{scroll-margin-top:92px;margin:0 0 46px}.cat-heading{font-size:28px!important;margin:0 0 17px!important}.portfolio-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.portfolio-grid.two-col .card .image-link{height:310px;background:#0a1425}.portfolio-grid.two-col .card .image-link::before{display:block!important;content:"";position:absolute;inset:-24px;background-image:linear-gradient(rgba(5,11,23,.42),rgba(5,11,23,.42)),var(--card-bg);background-size:cover;background-position:center;filter:blur(22px);transform:scale(1.12);opacity:.72;z-index:0}.portfolio-grid.two-col .card .image-link img{position:relative;z-index:1;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}.portfolio-grid.two-col .image-cta{z-index:2}.portfolio-grid.two-col .card p{min-height:48px}.portfolio-grid.two-col .card h3{font-size:27px}.portfolio-grid.two-col .pad{padding:20px 22px}.portfolio-grid.two-col .buttons{display:flex;gap:12px}@media(max-width:800px){.portfolio-grid.two-col{grid-template-columns:1fr}.portfolio-grid.two-col .card .image-link{height:280px}.cat-heading{font-size:24px!important}.category-jump{gap:7px}.category-jump a{font-size:12px;padding:8px 11px}}

/* v16: compact 3-column desktop portfolio */
.top10-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important}
.top10-grid .card{scroll-margin-top:92px}
.top10-grid .card .image-link{height:245px!important;background:#091426;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate}
.top10-grid .card .image-link::before{display:block!important;content:"";position:absolute;inset:-20px;background-image:linear-gradient(rgba(5,11,23,.32),rgba(5,11,23,.32)),var(--card-bg);background-size:cover;background-position:center;filter:blur(18px);transform:scale(1.12);opacity:.68;z-index:0}
.top10-grid .card .image-link img{position:relative;z-index:1;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
.top10-grid .image-cta{z-index:2}
.top10-grid .pad{padding:17px 18px!important}
.top10-grid .card h3{font-size:24px!important;margin:6px 0 8px}
.top10-grid .card p{min-height:48px;font-size:15px;line-height:1.45}
.top10-grid .buttons{display:flex!important;gap:10px!important}
.top10-grid .btn{padding:11px 8px!important;font-size:15px}
.cat-badge{display:inline-block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#ff83b8;margin-bottom:2px}
@media(max-width:1050px){.top10-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){.top10-grid{grid-template-columns:1fr!important}.top10-grid .card .image-link{height:285px!important}.top10-grid .buttons{flex-direction:column!important}}
/* v18 external reviews */
.external-reviews{margin:34px 0 28px;padding-top:8px}.external-reviews h2{margin-bottom:8px}.ext-intro,.ext-note{color:#b9c9e5;line-height:1.65}.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.source-card{border:1px solid #263b5d;border-radius:18px;background:#0d1a2d;padding:18px}.source-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:18px}.source-rating{white-space:nowrap;color:#ffb84d;font-weight:800}.source-count{margin-top:7px;color:#8fa8cd;font-size:14px}.source-card p{color:#c6d4eb;line-height:1.55}.source-link{display:inline-flex;border:1px solid #ff3b91;border-radius:999px;padding:9px 14px;color:#fff;text-decoration:none;font-weight:700}.source-link:hover{background:#ff3b91}.ext-note{font-size:14px}@media(max-width:700px){.source-grid{grid-template-columns:1fr}.source-top{align-items:flex-start;flex-direction:column}}
