/* Uvodni stranka v rozlozeni "platforma" (templates/home/platform.html.twig): upoutavka pro webmastery s ilustracnim
   mockupem chatu, prinosy, "proc prave tady", informace o spusteni, nahledy modelek.
   Web je tmavy, bez svetleho rezimu; vsechno je v CSS (zadne externi obrazky ani pisma), animace jen pro
   prefers-reduced-motion: no-preference, smerove vlastnosti logicke kvuli arabstine (RTL). */

/* paleta dlazdic: ruzove akcentove tony webu doplnene o lila, broskev, mata, nebe a zlato */
.home-benefit, .home-advantage { --g1: #f2b5d0; --g2: #c58bd8; }

/* ---------- hero ---------- */
.home-pitch { position: relative; overflow: clip; padding-top: clamp(2.5rem, 6vw, 4.5rem); padding-bottom: clamp(2rem, 5vw, 4rem); }
.home-glow { position: absolute; inset: 0; pointer-events: none; }
.home-glow span { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .55; }
.home-glow-a { width: 46rem; height: 46rem; inset-block-start: -18rem; inset-inline-end: -14rem; background: radial-gradient(circle, color-mix(in srgb, var(--accent) 55%, transparent), transparent 68%); }
.home-glow-b { width: 38rem; height: 38rem; inset-block-start: 8rem; inset-inline-start: -16rem; background: radial-gradient(circle, rgba(140, 110, 220, .38), transparent 68%); }
.home-pitch .wrap { position: relative; }

.home-hero { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; margin-bottom: clamp(2.5rem, 6vw, 4.5rem); }
.home-pitch-head { min-width: 0; }
.home-pitch-head h1 { margin: .8rem 0 1.2rem; overflow-wrap: break-word; text-wrap: balance; font-size: clamp(2.2rem, 4.6vw, 3.8rem); }
.home-lead { margin: 0 0 1.8rem; font-size: 1.05rem; line-height: 1.65; color: var(--muted); max-width: 40rem; }
.home-pitch .hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.home-pitch .hero-actions .btn-primary { box-shadow: 0 10px 30px color-mix(in srgb, var(--accent) 35%, transparent); }

/* ---------- mockup telefonu s chatem ---------- */
.home-mockup { position: relative; margin: 0; display: grid; justify-items: center; padding: 1.2rem 0 .4rem; isolation: isolate; }
.mockup-rings { position: absolute; left: 50%; top: 50%; width: min(130%, 34rem); aspect-ratio: 1; translate: -50% -52%; color: color-mix(in srgb, var(--accent) 38%, transparent); z-index: -1; pointer-events: none; }
.mockup-caption { position: relative; margin-top: 1rem; text-align: center; }

.phone { position: relative; width: min(100%, 21rem); border-radius: 2.6rem; padding: .5rem;
  background: linear-gradient(160deg, color-mix(in srgb, var(--accent) 55%, #2a2030), #2a2030 38%, #15101a 70%, color-mix(in srgb, #8c6edc 40%, #15101a));
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .06), 0 40px 80px rgba(0, 0, 0, .55), 0 0 90px color-mix(in srgb, var(--accent) 22%, transparent); }
.phone::before { content: ""; position: absolute; inset: .5rem; border-radius: 2.1rem; background: #0e0b10; z-index: 0; }
.phone > * { position: relative; z-index: 1; }
.phone-notch { display: block; width: 5.2rem; height: 1.15rem; margin: .45rem auto 0; border-radius: 999px; background: #050406; }
.phone-head { display: flex; align-items: center; gap: .65rem; padding: .7rem .9rem .75rem; border-bottom: 1px solid var(--line); }
.phone-avatar { flex: none; width: 40px; height: 40px; border-radius: 50%; object-fit: cover; border: 2px solid color-mix(in srgb, var(--accent) 65%, transparent); background: var(--surface-2); }
.phone-avatar-ph { display: grid; place-items: center; color: var(--accent); }
.phone-avatar-ph .icon { width: 20px; height: 20px; }
.phone-who { min-width: 0; flex: 1; display: grid; line-height: 1.25; }
.phone-who strong { font: 500 1.2rem/1.1 var(--serif); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.phone-online { display: inline-flex; align-items: center; gap: .35rem; font-size: .7rem; color: var(--ok); }
.phone-online i { width: 6px; height: 6px; border-radius: 50%; background: var(--ok); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ok) 25%, transparent); }

.phone-body { display: flex; flex-direction: column; gap: .55rem; padding: .95rem .8rem; min-height: 22.5rem; }
.bubble { margin: 0; max-width: 86%; padding: .55rem .8rem; border-radius: 1.1rem; font-size: .84rem; line-height: 1.4; overflow-wrap: anywhere; }
.bubble p { margin: .35rem 0 0; }
.bubble p:first-child { margin-top: 0; }
.bubble-fan { align-self: flex-end; border-end-end-radius: .3rem; color: var(--accent-ink); background: linear-gradient(135deg, #f4bcd5, var(--accent)); }
.bubble-ai { align-self: flex-start; border-end-start-radius: .3rem; background: var(--surface-2); border: 1px solid var(--line); }
.bubble-wide { max-width: 100%; }
.bubble-short { max-width: 70%; }
.bubble-typing { display: inline-flex; gap: .28rem; align-items: center; padding: .7rem .85rem; }
.bubble-typing i { width: 6px; height: 6px; border-radius: 50%; background: var(--muted); opacity: .55; }

/* karta odkazu ke stazeni uvnitr odpovedi (jen ilustrace, neni to odkaz) */
.mockup-link { display: flex; align-items: center; gap: .75rem; margin-top: .6rem; padding: .5rem; border-radius: .85rem; background: color-mix(in srgb, var(--accent) 10%, var(--bg)); border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line)); }
.mockup-link-icon { position: relative; flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: var(--accent-ink); background: linear-gradient(135deg, #f2b5d0, #c58bd8); }
.mockup-link-icon .icon { width: 18px; height: 18px; }
.mockup-link-text { min-width: 0; flex: 1; display: grid; line-height: 1.25; }
.mockup-link-text strong { font-size: .8rem; font-weight: 600; overflow-wrap: anywhere; }
.mockup-link-pill { position: absolute; top: -.5rem; inset-inline-end: -.55rem; padding: .08rem .32rem; font-size: .56rem; line-height: 1.2; color: var(--text); border: 1px solid var(--line); }
.mockup-link-text small { font-size: .66rem; color: var(--muted); }
.mockup-link-cta { flex: none; padding: .26rem .6rem; border-radius: 999px; font-size: .66rem; font-weight: 600; color: var(--accent-ink); background: var(--accent); }

.phone-input { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin: 0 .8rem .9rem; padding: .4rem .4rem .4rem .95rem; border-radius: 999px; background: var(--surface); border: 1px solid var(--line); font-size: .78rem; color: var(--faint); }
.phone-send { flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: var(--accent-ink); background: var(--accent); }
.phone-send .icon { width: 15px; height: 15px; stroke-width: 2.4; }
[dir="rtl"] .phone-send .icon { transform: scaleX(-1); }

/* plovouci stitky kolem telefonu: ilustrace funkci platformy, ne tvrzeni o trzbach */
.mockup-chips { display: contents; }
.mockup-chip { position: absolute; display: inline-flex; align-items: center; gap: .45rem; padding: .5rem .85rem; border-radius: 999px; font: 600 .78rem/1.2 var(--sans); white-space: nowrap; color: var(--text); background: color-mix(in srgb, var(--surface) 88%, transparent); border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--line)); backdrop-filter: blur(10px); box-shadow: 0 14px 34px rgba(0, 0, 0, .45); }
.mockup-chip .icon { width: 16px; height: 16px; color: var(--accent); }
.mockup-chip-age { inset-block-start: 22%; inset-inline-start: -1.2rem; }
.mockup-chip-age .icon { color: var(--ok); }
.mockup-chip-sub { inset-block-end: 17%; inset-inline-end: -.8rem; }

/* ---------- karty prinosu ---------- */
.home-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.1rem; }
.home-benefit { position: relative; overflow: hidden; padding: 1.4rem 1.4rem 1.5rem; border-radius: var(--radius-lg); border: 1px solid transparent;
  background: linear-gradient(var(--surface), var(--surface)) padding-box, linear-gradient(150deg, color-mix(in srgb, var(--g1) 55%, var(--line)), var(--line) 38%, var(--line) 70%, color-mix(in srgb, var(--g2) 40%, var(--line))) border-box;
  transition: transform .25s, box-shadow .25s; }
.home-benefit::before { content: ""; position: absolute; inset-block-start: -4rem; inset-inline-end: -4rem; width: 11rem; height: 11rem; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--g1) 22%, transparent), transparent 70%); pointer-events: none; }
.home-benefit:hover { transform: translateY(-4px); box-shadow: 0 22px 50px rgba(0, 0, 0, .4), 0 0 0 1px color-mix(in srgb, var(--g1) 30%, transparent); }
.home-benefit > * { position: relative; }
.home-benefit h3 { margin: 1rem 0 .45rem; font-size: 1.35rem; overflow-wrap: break-word; }
.home-benefit p { margin: 0; font-size: .92rem; overflow-wrap: break-word; }
.home-benefit-icon { display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; color: #1a0f15; background: linear-gradient(135deg, var(--g1, #f2b5d0), var(--g2, #c58bd8)); box-shadow: 0 10px 24px color-mix(in srgb, var(--g1, #f2b5d0) 30%, transparent), inset 0 1px 0 rgba(255, 255, 255, .45); }
.home-benefit-icon .icon { width: 24px; height: 24px; stroke-width: 1.8; }
/* siroke karty vytvari rytmus mrizky: 2+1+1 / 1+1+2 / 2+2 */
.home-benefit[data-benefit="ai"], .home-benefit[data-benefit="team"], .home-benefit[data-benefit="growth"], .home-benefit[data-benefit="protect"] { grid-column: span 2; }
.home-benefit[data-benefit="ai"] h3 { font-size: 1.7rem; }
/* ostatni siroke karty maji ikonu vedle textu, aby u kratkeho textu nezustavalo prazdno */
.home-benefit[data-benefit="team"], .home-benefit[data-benefit="growth"], .home-benefit[data-benefit="protect"] { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 1.2rem; align-content: center; align-items: start; }
.home-benefit[data-benefit="team"] .home-benefit-icon, .home-benefit[data-benefit="growth"] .home-benefit-icon, .home-benefit[data-benefit="protect"] .home-benefit-icon { grid-row: span 2; }
.home-benefit[data-benefit="team"] h3, .home-benefit[data-benefit="growth"] h3, .home-benefit[data-benefit="protect"] h3 { margin-top: .1rem; }
.home-benefit[data-benefit="ai"] { --g1: #f2b5d0; --g2: #c58bd8; }
.home-benefit[data-benefit="voice"] { --g1: #c9b3f5; --g2: #8c8af0; }
.home-benefit[data-benefit="income"] { --g1: #f6d58f; --g2: #f2a98b; }
.home-benefit[data-benefit="age"] { --g1: #9ee0bd; --g2: #5fc4c8; }
.home-benefit[data-benefit="money"] { --g1: #9ccbf2; --g2: #7d9cf0; }
.home-benefit[data-benefit="team"] { --g1: #f4b3a6; --g2: #ee86a8; }
.home-benefit[data-benefit="growth"] { --g1: #f0d58a; --g2: #a8dc8f; }
.home-benefit[data-benefit="protect"] { --g1: #d4a8f0; --g2: #f08fc0; }
.home-commission { margin: 1.8rem 0 0; max-width: 46rem; }

/* ---------- proc prave tady ---------- */
.home-why { position: relative; overflow: clip; background: var(--bg-2); border-block: 1px solid var(--line); }
.home-why::before { content: ""; position: absolute; inset-block-end: -14rem; inset-inline-start: -10rem; width: 34rem; height: 34rem; border-radius: 50%; background: radial-gradient(circle, rgba(140, 110, 220, .16), transparent 68%); pointer-events: none; }
.home-why .wrap { position: relative; }
.home-why-lead { max-width: 46rem; margin: .8rem 0 0; }
.home-advantages { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; counter-reset: adv; }
.home-advantage { position: relative; padding: 1.2rem 1.4rem 1.5rem; border-radius: var(--radius-lg); background: color-mix(in srgb, var(--surface) 70%, transparent); border: 1px solid var(--line); transition: transform .25s, border-color .25s; }
.home-advantage:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--g1) 45%, var(--line)); }
.home-advantage-no { display: block; margin-bottom: .5rem; font: 300 3.6rem/1 var(--serif); letter-spacing: .02em; color: transparent; background: linear-gradient(135deg, var(--g1), var(--g2)); -webkit-background-clip: text; background-clip: text; }
.home-advantage h3 { margin: 0 0 .4rem; font-size: 1.3rem; overflow-wrap: break-word; }
.home-advantage p { margin: 0; font-size: .92rem; overflow-wrap: break-word; }
.home-advantage:nth-child(2) { --g1: #9ee0bd; --g2: #5fc4c8; }
.home-advantage:nth-child(3) { --g1: #f6d58f; --g2: #f2a98b; }
.home-advantage:nth-child(4) { --g1: #f4b3a6; --g2: #ee86a8; }
.home-advantage:nth-child(5) { --g1: #9ccbf2; --g2: #7d9cf0; }
.home-advantage:nth-child(6) { --g1: #c9b3f5; --g2: #8c8af0; }

/* ---------- ceka na spusteni ---------- */
.home-soon { position: relative; overflow: hidden; isolation: isolate; padding-block: clamp(3rem, 7vw, 5rem); text-align: center;
  background: linear-gradient(120deg, color-mix(in srgb, var(--accent) 24%, var(--bg)), color-mix(in srgb, #8c6edc 22%, var(--bg)) 55%, color-mix(in srgb, var(--accent) 16%, var(--bg)));
  border-bottom: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line)); }
.home-soon::before { content: ""; position: absolute; inset-inline: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 70%, transparent), transparent); }
.home-soon-deco { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.home-soon-deco span { position: absolute; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent); }
.home-soon-deco span:first-child { width: 30rem; height: 30rem; inset-block-start: -15rem; inset-inline-start: -8rem; box-shadow: 0 0 0 4rem color-mix(in srgb, var(--accent) 5%, transparent); }
.home-soon-deco span:last-child { width: 24rem; height: 24rem; inset-block-end: -13rem; inset-inline-end: -5rem; box-shadow: 0 0 0 3rem color-mix(in srgb, #8c6edc 6%, transparent); }
.home-soon-inner { max-width: 44rem; display: grid; justify-items: center; gap: .95rem; }
.home-soon-inner h2 { margin: 0; text-wrap: balance; font-size: clamp(2rem, 4vw, 3.1rem); }
.home-soon-inner p { margin: 0; color: color-mix(in srgb, var(--text) 78%, transparent); }
.home-soon .pill .icon { width: 14px; height: 14px; }
.home-soon-badge { position: relative; padding: .4rem .9rem; font-size: .76rem; background: color-mix(in srgb, var(--bg) 55%, transparent); border: 1px solid color-mix(in srgb, var(--accent) 45%, transparent); }
.home-soon-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 10px var(--accent); }
.home-soon .btn-primary { padding-inline: 1.6rem; box-shadow: 0 12px 34px color-mix(in srgb, var(--accent) 38%, transparent); }

/* ---------- modelky ---------- */
.home-models .cards { grid-template-columns: repeat(auto-fill, minmax(250px, 360px)); }
.home-model { position: relative; display: block; isolation: isolate; border-color: color-mix(in srgb, var(--accent) 20%, var(--line)); background: var(--surface-2); }
.home-model-pic { aspect-ratio: 3 / 4; overflow: hidden; background: linear-gradient(160deg, color-mix(in srgb, var(--accent) 22%, var(--surface-2)), var(--bg-2)); }
.home-model-pic img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.home-model-initial { display: grid; place-items: center; width: 100%; height: 100%; font: 300 6rem/1 var(--serif); color: var(--accent); }
.home-model::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(to top, rgba(12, 8, 14, .94) 0%, rgba(12, 8, 14, .6) 30%, transparent 58%); }
.home-model-ai { position: absolute; z-index: 2; inset-block-start: .8rem; inset-inline-start: .8rem; background: color-mix(in srgb, var(--bg) 62%, transparent); backdrop-filter: blur(8px); }
.home-model-ai .icon { width: 12px; height: 12px; }
.home-model-info { position: absolute; z-index: 2; inset-inline: 0; inset-block-end: 0; padding: 1.2rem 1.3rem 1.3rem; padding-inline-end: 4.2rem; }
.home-model-info h3 { margin: 0; font-size: 1.9rem; font-weight: 500; line-height: 1.05; overflow-wrap: anywhere; text-shadow: 0 2px 14px rgba(0, 0, 0, .6); }
.home-model-handle { margin-top: .2rem; color: color-mix(in srgb, var(--text) 62%, transparent); }
.home-model-tagline { margin: .55rem 0 0; color: color-mix(in srgb, var(--text) 82%, transparent); display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.home-model-go { position: absolute; z-index: 2; inset-block-end: 1.2rem; inset-inline-end: 1.2rem; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; color: var(--accent-ink); background: var(--accent); font-weight: 700; opacity: .92; transition: transform .3s, box-shadow .3s; }
.home-model:hover { box-shadow: 0 26px 60px rgba(0, 0, 0, .5), 0 0 40px color-mix(in srgb, var(--accent) 18%, transparent); }
.home-model:hover .home-model-pic img { transform: scale(1.06); }
.home-model:hover .home-model-go { transform: translateX(3px); box-shadow: 0 0 22px color-mix(in srgb, var(--accent) 55%, transparent); }
[dir="rtl"] .home-model:hover .home-model-go { transform: translateX(-3px); }

.home-model-join { display: grid; align-content: center; justify-items: start; gap: .7rem; padding: 1.6rem; background: linear-gradient(160deg, color-mix(in srgb, var(--accent) 10%, var(--surface)), var(--surface)); border-style: dashed; border-color: color-mix(in srgb, var(--accent) 40%, var(--line)); }
.home-model-join h3 { margin: .3rem 0 0; font-size: 1.6rem; overflow-wrap: break-word; }
.home-model-join p { margin: 0; }
.home-model-join .btn { margin-top: .5rem; }
.home-model-join:hover { color: inherit; }

/* ---------- animace: jen CSS, jen kdyz navstevnik nechce omezit pohyb ---------- */
@media (prefers-reduced-motion: no-preference) {
  .mockup-chip-age { animation: home-float 6s ease-in-out infinite; }
  .mockup-chip-sub { animation: home-float 7s ease-in-out -2s infinite; }
  .home-glow-a { animation: home-drift 18s ease-in-out infinite alternate; }
  .home-glow-b { animation: home-drift 22s ease-in-out -6s infinite alternate-reverse; }
  .bubble-typing i { animation: home-typing 1.3s ease-in-out infinite; }
  .bubble-typing i:nth-child(2) { animation-delay: .18s; }
  .bubble-typing i:nth-child(3) { animation-delay: .36s; }
  .home-soon-dot { animation: home-pulse 2s ease-out infinite; }
  .home-soon-badge::after { content: ""; position: absolute; inset: -1px; border-radius: inherit; border: 1px solid var(--accent); opacity: 0; animation: home-ring 2.6s ease-out infinite; }
  .home-soon-deco span:first-child { animation: home-drift 20s ease-in-out infinite alternate; }
}
@keyframes home-float { 50% { transform: translateY(-9px); } }
@keyframes home-drift { to { transform: translate3d(3rem, 2rem, 0) scale(1.08); } }
@keyframes home-typing { 40% { opacity: 1; transform: translateY(-3px); } }
@keyframes home-pulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent) 70%, transparent); } 100% { box-shadow: 0 0 0 10px transparent; } }
@keyframes home-ring { 0% { opacity: .8; transform: scale(1); } 100% { opacity: 0; transform: scale(1.35); } }

/* ---------- responzivita ---------- */
@media (max-width: 1060px) {
  .home-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-advantages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .home-hero { grid-template-columns: minmax(0, 1fr); }
  .home-mockup { padding-top: 2rem; }
  .mockup-chips { order: 3; display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: 1.1rem; }
  .mockup-chip { position: static; }
  .mockup-caption { order: 4; margin-top: .9rem; }
}
@media (max-width: 640px) {
  .home-benefits, .home-advantages { grid-template-columns: minmax(0, 1fr); }
  .home-benefit[data-benefit] { grid-column: auto; display: block; }
  .home-benefit[data-benefit] h3 { margin-top: 1rem; }
}
@media (max-width: 520px) {
  .home-pitch .hero-actions .btn { width: 100%; justify-content: center; }
  .home-models .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .home-model-info { padding: .9rem .8rem .9rem; padding-inline-end: .8rem; }
  .home-model-info h3 { font-size: 1.35rem; }
  .home-model-go { display: none; }
  .home-model-join { grid-column: 1 / -1; }
  .home-model:nth-last-child(2):nth-child(odd) { grid-column: 1 / -1; }
  .home-model:nth-last-child(2):nth-child(odd) .home-model-pic { aspect-ratio: 4 / 5; }
  .mockup-chip { font-size: .72rem; padding: .42rem .7rem; }
}

/* app.css na mobilu zvetsuje .avatar (specificita stejna, pozdeji), proto male avatary karet drzi vlastni pravidlo */
.home-model .avatar-sm { width: 42px; height: 42px; flex: none; }

/* radek grafickych fajfek primo pod nadpisem upoutavky; zelena = var(--ok), na mobilu se zalamuje */
.home-checks { list-style: none; margin: 0 0 1.4rem; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem .7rem; }
.home-check { display: inline-flex; align-items: center; gap: .55rem; padding: .45rem .95rem .45rem .5rem; border-radius: 999px; background: color-mix(in srgb, var(--surface) 80%, transparent); border: 1px solid color-mix(in srgb, var(--ok) 35%, var(--line)); font: 600 .95rem/1.25 var(--sans); color: var(--text); overflow-wrap: anywhere; backdrop-filter: blur(6px); }
.home-check-mark { flex: none; display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--ok); color: #0c1f15; }
.home-check-mark .icon { width: 16px; height: 16px; stroke-width: 2.6; }
.home-subtitle { margin: 0 0 1rem; max-width: 40rem; font: italic 400 clamp(1.2rem, 2vw, 1.5rem)/1.35 var(--serif); color: var(--text); }
@media (max-width: 520px) {
  .home-checks { gap: .5rem; }
  .home-check { font-size: .92rem; padding-block: .4rem; }
}
