/* Homepage v2 (index-v2.php) only. Scoped with the hv2- prefix; builds on landing.css (.lp-*). */
.hv2-section{padding:3.5rem 1rem}
@media(min-width:768px){.hv2-section{padding:5rem 1.5rem}}
.hv2-section--tint{background:#f9fafb}
.hv2-head{max-width:44rem;margin:0 0 2rem}
.hv2-head p{color:#4b5563;margin:0}
.hv2-meta{font-size:.8125rem;color:#6b7280;margin:.75rem 0 0}
.hv2-link{display:inline-block;margin:.25rem 1.25rem .25rem 0;font-size:.875rem;font-weight:600;color:#2563eb;text-decoration:none}
.hv2-link:hover{color:#1d4ed8;text-decoration:underline}
.hv2-link:focus-visible,.hv2-guides a:focus-visible{outline:2px solid #2563eb;outline-offset:2px;border-radius:2px}

/* How it works: three connected steps */
.hv2-flow{list-style:none;margin:0;padding:0;display:grid;gap:2rem;counter-reset:hv2}
@media(min-width:768px){.hv2-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}}
.hv2-flow li{position:relative;padding-top:3.25rem}
.hv2-flow__n{position:absolute;top:0;left:0;width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:50%;background:#0d0724;color:#fff;font:600 .9375rem "Archivo","Inter",system-ui,sans-serif}
@media(min-width:768px){.hv2-flow li:not(:last-child)::after{content:"";position:absolute;top:1.1rem;left:3rem;right:-1.25rem;border-top:2px dashed #e5e7eb}}
.hv2-flow h3{margin:0 0 .4rem}
.hv2-flow p{margin:0;color:#4b5563;font-size:.9375rem}
.hv2-flow__links{margin:2rem 0 0}

/* Developer showcase */
.hv2-dev{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;align-items:start}
@media(min-width:1024px){.hv2-dev{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:3rem}}
.hv2-dev>*{min-width:0}
.hv2-dev__code .lp-code pre{max-height:26rem}
.hv2-guides{margin:1.25rem 0 0;font-size:.875rem;color:#4b5563}
.hv2-guides a{color:#2563eb;font-weight:600;text-decoration:none}
.hv2-guides a:hover{text-decoration:underline}

/* Template gallery */
.hv2-gallery{list-style:none;margin:0;padding:0;display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr)}
@media(min-width:640px){.hv2-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.hv2-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
.hv2-tpl{display:flex;flex-direction:column;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden}
.hv2-tpl__preview{--s:.4;position:relative;aspect-ratio:4/5;background:#f3f4f6;overflow:hidden;border-bottom:1px solid #e5e7eb}
.hv2-tpl__preview iframe{position:absolute;top:0;left:0;width:800px;height:1000px;border:0;background:#fff;transform:scale(var(--s));transform-origin:0 0;pointer-events:none}
.hv2-tpl__body{padding:1rem 1.1rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.hv2-tpl__body h3{margin:0}
.hv2-tpl__body p{margin:0 0 .5rem;color:#4b5563;font-size:.9375rem;flex:1}
.hv2-tpl__body .lp-btn{align-self:flex-start}

/* Security rows (open layout, no cards) */
.hv2-rows{list-style:none;margin:0;padding:0}
.hv2-rows li{display:flex;gap:1rem;padding:1.1rem 0;border-top:1px solid #e5e7eb}
.hv2-rows li:last-child{border-bottom:1px solid #e5e7eb}
.hv2-rows svg,.hv2-rows i{flex:none;width:1.5rem;height:1.5rem;color:#2563eb;margin-top:.15rem}
.hv2-rows h3{margin:0 0 .25rem}
.hv2-rows p{margin:0;color:#4b5563;font-size:.9375rem}

/* Cost estimator */
.hv2-calc{max-width:48rem;margin:3rem auto 0;background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:1.5rem}
@media(min-width:768px){.hv2-calc{padding:2rem}}
.hv2-calc__title{font:700 1.25rem "Archivo","Inter",system-ui,sans-serif;margin:0 0 1.25rem;color:#111827}
.hv2-calc__grid{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr)}
@media(min-width:768px){.hv2-calc__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.hv2-label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;margin-bottom:.375rem}
.hv2-input{width:100%;padding:.7rem .9rem;border:1px solid #e5e7eb;border-radius:.5rem;font:400 1rem "Inter",system-ui,sans-serif;color:#111827;background:#fff}
.hv2-input:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.hv2-input[aria-invalid=true]{border-color:#dc2626}
.hv2-calc__note{font-size:.8125rem;color:#6b7280;margin:.6rem 0 0}
.hv2-calc__result{background:#f9fafb;border-radius:.75rem;padding:1.1rem 1.25rem}
.hv2-calc__plan{margin:0;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#6b7280}
.hv2-calc__price{margin:.1rem 0 .4rem;font:700 2rem "Archivo","Inter",system-ui,sans-serif;color:#111827}
.hv2-calc__detail{margin:0 0 .75rem;font-size:.875rem;color:#4b5563}

@media(prefers-reduced-motion:reduce){.hv2-flow li::after{display:none}}

/* Gallery previews: crop to the top of the document instead of a full-page ratio */
.hv2-tpl__preview{aspect-ratio:5/4}

/* Capability matrix: give the label column most of the width */
.hv2-caps tbody th{width:64%}

/* Response cards inside the developer section: fit as many as the width allows */
.hv2-dev-wrap .lp-resp-grid{grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}
.hv2-dev-wrap .lp-resp .lp-code__dots{display:none}
.hv2-dev-wrap .lp-resp .lp-code__bar span:not(.lp-resp__lang){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hv2-dev-wrap .lp-resp pre code{white-space:pre-wrap;overflow-wrap:anywhere}
