/* Homepage polish v2 (owner review 30 Oct 2026, 18:32). Loaded after home-tiles.css and home-full.css. Site tokens only. */

/* ---- tiles: one fixed picture area on every tile, text aligned to the top.
   Each tile is a 2-row subgrid (title, description), so titles and description lines line up across a row
   even when one title wraps to two lines. */
.hx-tiles{grid-auto-rows:auto}
.hx-tile{justify-content:flex-start;min-height:0;padding-top:96px}
@supports (grid-template-rows:subgrid){
  .hx-tile{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0;align-content:start}
  .hx-tile b,.hx-tile .hx-d{align-self:start}
}
.hx-tile b{display:block}
@media (min-width:640px){.hx-tile{padding-top:120px}}
.hv-tfree{position:absolute;left:10px;top:10px;z-index:5;padding:3px 9px;border-radius:999px;background:var(--ink);color:var(--mark);font:800 12px/1.25 var(--display);letter-spacing:.02em;box-shadow:0 2px 0 rgba(21,35,60,.25)}
@media (min-width:640px){.hv-tfree{left:14px;top:14px;font-size:13px;padding:4px 11px}}

/* ---- hero line */
.hv-hero{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:14px 0 0;padding:6px 16px 6px 8px;border-radius:999px;background:var(--mark-soft);border:2px solid var(--mark);color:var(--ink);font:700 15.5px/1.3 var(--display);text-decoration:none}
.hv-hero:hover{background:var(--mark);text-decoration:none}
.hv-hero:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.hv-hero-ic{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:var(--paper)}
.hv-hero-ic svg{width:20px;height:20px}
@media (min-width:640px){.hv-hero{font-size:17px}}

/* ---- free strip */
.hv-free{background:var(--mark-soft);border:2px solid var(--mark);border-radius:22px;padding:16px}
.hv-free-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 14px;font:800 clamp(20px,2.6vw,26px)/1.2 var(--display);color:var(--ink)}
.hv-free-h::after{display:none!important}
.hv-pill{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--ink);color:var(--mark);font:800 14px/1.2 var(--display);letter-spacing:.04em;text-transform:uppercase}
.hv-chips{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:10px}
.hv-chip{display:flex;align-items:center;gap:12px;min-height:64px;height:100%;box-sizing:border-box;padding:10px 14px 10px 10px;border-radius:16px;background:var(--paper);color:var(--ink);text-decoration:none;box-shadow:0 2px 0 rgba(21,35,60,.12);transition:transform .15s,box-shadow .15s}
.hv-chip:hover{transform:translateY(-1px);box-shadow:0 3px 0 var(--ink);text-decoration:none}
.hv-chip:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.hv-cic{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:13px;background:var(--accent-soft)}
.hv-k1 .hv-cic{background:#fde8e4}.hv-k2 .hv-cic{background:var(--mark-soft)}.hv-k3 .hv-cic{background:#e3f4ea}
.hv-cic svg{width:32px;height:32px}
.hv-ctx{display:flex;flex-direction:column;min-width:0}
.hv-ctx b{font:800 16.5px/1.2 var(--display)}
.hv-cd{font-size:14px;line-height:1.35;color:var(--muted);margin-top:2px}
@media (min-width:640px){.hv-free{padding:20px 22px}.hv-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media (min-width:1100px){.hv-chips{grid-template-columns:repeat(4,minmax(0,1fr))}.hv-chip{flex-direction:column;align-items:flex-start;padding:14px}}
@media (prefers-reduced-motion:reduce){.hv-chip{transition:none}.hv-chip:hover{transform:none}}

/* ---- pricing: more color and structure, same clean cards */
#pricing .hv-pval{display:flex;align-items:center;gap:10px;margin:0 0 16px;font:800 18px/1.3 var(--display);color:var(--ink)}
.hv-pval-ic{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--mark-soft)}
.hv-pval-ic svg{width:22px;height:22px}
#pricing .hm2-plans div.hm2-plan.plan.plan{background:var(--paper);border:2px solid var(--line);box-shadow:var(--shadow-sm);padding-top:18px}
#pricing .hm2-plans div.hm2-plan.plan.plan.hm2-os{background:var(--paper);border-color:var(--accent)}
#pricing .hm2-plans div.hm2-plan.plan.plan.hm2-best{background:var(--mark-soft);background:linear-gradient(160deg,var(--paper) 0%,var(--mark-soft) 38%,color-mix(in srgb,var(--mark) 45%,var(--mark-soft)) 100%);border-color:var(--ink);box-shadow:0 5px 0 var(--ink);padding-top:30px;margin-top:12px}
.hv-pic{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--accent-soft);margin-bottom:6px}
.hv-pic svg{width:30px;height:30px}
#pricing .hm2-plans div.hm2-plan.plan.plan h3,#pricing .hm2-plans .hm2-ptop,#pricing .hm2-plans p.hv-pfor{padding-right:52px}
#pricing .hm2-plans div.hm2-plan.plan.plan.hm2-best .hm2-ptop{padding-right:52px}
.hv-p1{background:var(--sheet)}.hv-p2{background:var(--mark)}.hv-p3{background:var(--accent-soft)}.hv-p4{background:var(--mark-soft)}
.hm2-best .hv-pic{background:var(--paper)}
#pricing .hm2-plans p.hv-pfor{margin:0 0 2px;font:700 14px/1.3 var(--display);color:var(--accent)}
#pricing .hm2-plans .hm2-best p.hv-pfor{color:var(--mark-deep)}
#pricing .hm2-plans div.hv-pts{margin:8px 0 10px;display:grid;gap:6px}
#pricing .hm2-plans p.hv-pt{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:14.5px;line-height:1.35;color:var(--text)}
.hv-ck{display:block;flex:none;width:18px;height:18px;margin-top:1px}
.hv-ck svg{display:block;width:18px;height:18px}
/* Best value ribbon: the card's existing badge, moved onto the top edge */
#pricing .hm2-plans div.hm2-plan.plan.plan.hm2-best .hm2-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);padding:6px 16px;border-radius:999px;background:var(--ink);color:var(--mark);font:800 13.5px/1.2 var(--display);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;box-shadow:0 3px 0 var(--mark-deep)}
#pricing .hm2-plans div.hm2-plan.plan.plan .hm2-badge.badge-lt{background:var(--accent-soft);color:var(--accent-deep)}
.hv-assure{list-style:none;margin:18px 0 0;padding:12px 14px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;border-radius:16px;background:var(--sheet)}
.hv-assure li{display:flex;align-items:center;gap:8px;margin:0;font:700 15px/1.3 var(--display);color:var(--ink)}
.hv-assure li::before{display:none}
.hv-assure svg{width:22px;height:22px;flex:none}
@media (min-width:640px) and (max-width:1099px){
  #pricing .hm2-plans div.hm2-plan.plan.plan.hm2-best>.hm2-pbtn{grid-row:auto;grid-column:2;align-self:end}
  #pricing .hm2-plans div.hm2-plan.plan.plan.hm2-best>.hv-pts{grid-column:2;grid-row:1/span 4;align-self:start;margin-top:0}
  #pricing .hm2-plans div.hm2-plan.plan.plan.hm2-best>.hv-pic{grid-column:auto}
  #pricing .hm2-plans div.hm2-plan.plan.plan.hm2-best>.hm2-pbtn{grid-row:5/span 2}
}
@media (min-width:1100px){
  #pricing .hm2-plans{padding-top:14px}
  #pricing .hm2-plans div.hm2-plan.plan.plan.hm2-best{margin-top:0;transform:translateY(-10px)}
  #pricing .hm2-plans div.hv-pts{margin-bottom:12px}
}
