/* Extra components for SEO landing pages — relies on variables in styles.css */
.lp-hero{background:var(--ink);color:var(--cream);padding:clamp(56px,9vw,104px) 0 clamp(40px,6vw,64px)}
.lp-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,56px);align-items:center}
.lp-hero-grid:not(:has(figure)){grid-template-columns:1fr;max-width:880px}
.lp-hero h1{font-size:clamp(1.7rem,3.6vw,2.6rem);line-height:1.35;margin:.4em 0 .5em}
.lp-hero .lede{color:var(--husk);font-size:1.05rem;line-height:2}
.lp-hero figure{margin:0;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35);aspect-ratio:4/3;background:var(--ink-soft)}
.lp-hero figure img{width:100%;height:100%;object-fit:cover;display:block}
.lp-hero .breadcrumb{font-size:.85rem;color:var(--husk);margin:0}
.lp-hero .breadcrumb a{color:var(--husk);text-decoration:none;border-bottom:1px dotted var(--line-on-dark)}
.lp-updated{display:inline-flex;align-items:center;gap:8px;background:rgba(161,113,44,.18);color:var(--brass-light);border:1px solid rgba(194,146,76,.35);border-radius:999px;padding:6px 14px;font-size:.88rem;margin-top:6px}
.lp-updated::before{content:"";width:8px;height:8px;border-radius:50%;background:#7fbf5a;box-shadow:0 0 0 4px rgba(127,191,90,.2)}
.lp-body{background:var(--paper);padding:clamp(40px,6vw,72px) 0}
.lp-body .prose{max-width:820px;margin-inline:auto;line-height:2.05;font-size:1.03rem;color:var(--ink)}
.lp-body .prose h2{font-size:clamp(1.3rem,2.4vw,1.65rem);margin:2.2em 0 .6em;line-height:1.5}
.lp-body .prose h3{font-size:1.15rem;margin:1.6em 0 .4em}
.lp-body .prose ul,.lp-body .prose ol{padding-inline-start:1.4em}
.lp-body .prose li{margin:.35em 0}
.lp-body .prose a{color:var(--brass-dark);text-decoration:underline;text-underline-offset:3px}
.lp-figure{margin:2em 0;border-radius:16px;overflow:hidden;background:var(--husk-soft)}
.lp-figure img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}
.lp-figure figcaption{padding:10px 16px;font-size:.88rem;color:var(--forest)}
.price-wrap{overflow-x:auto;margin:1.4em 0;border-radius:14px;border:1px solid var(--line);background:#fff}
.price-table{width:100%;border-collapse:collapse;min-width:560px;font-size:.97rem}
.price-table caption{caption-side:top;text-align:start;padding:14px 16px;font-weight:700;background:var(--husk-soft)}
.price-table th,.price-table td{padding:12px 16px;border-bottom:1px solid var(--line);text-align:start;vertical-align:middle}
.price-table thead th{background:var(--ink);color:var(--cream);font-weight:700;font-size:.9rem}
.price-table tbody tr:nth-child(even){background:rgba(222,213,192,.25)}
.price-table .num{font-variant-numeric:tabular-nums;white-space:nowrap}
.price-note{font-size:.9rem;color:var(--forest);background:var(--husk-soft);border-inline-start:4px solid var(--brass);padding:12px 16px;border-radius:8px}
.lp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:1.6em 0}
.lp-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;text-decoration:none!important;color:var(--ink)!important;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.lp-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(28,24,21,.12)}
.lp-card strong{display:block;margin-bottom:6px;color:var(--brass-dark)}
.lp-card span{font-size:.9rem;line-height:1.8}
.lp-faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin:10px 0}
.lp-faq summary{cursor:pointer;font-weight:700;list-style:none}
.lp-faq summary::-webkit-details-marker{display:none}
.lp-faq summary::after{content:"+";float:left;color:var(--brass);font-weight:700}
.lp-faq details[open] summary::after{content:"−"}
.lp-faq details p{margin:.6em 0 0}
.lp-cta{background:var(--forest);color:var(--cream);border-radius:20px;padding:clamp(24px,4vw,40px);margin:2.4em 0;text-align:center}
.lp-cta p{margin:0 0 16px;font-size:1.08rem}
.lp-cta .hero-actions{justify-content:center}
@media (max-width:860px){.lp-hero-grid{grid-template-columns:1fr}.lp-hero figure{order:-1}}
@media (prefers-reduced-motion:reduce){.lp-card{transition:none}}