/* Home page. Sections share the showcase's language: rounded colored panels and real product images. */
:root { --hp-tint: #f2ece3; --hp-radius: 16px; }
[data-theme="dark"] { --hp-tint: #1f1c19; }

/* ---- Showcase: one colored slide per feature (js/shop-carousel.js) ---- */
.home-show { padding: calc(var(--nav-h) + 20px) 0 0; }
.home-show .sc-dots { display: none; }
.hs-slide { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: center; gap: 32px; min-height: 520px; padding: 44px 76px; color: var(--ink); background: var(--ground); }
.hs-eyebrow { font-size: .8125rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; opacity: .78; margin-bottom: 14px; }
.hs-title { color: inherit; font-size: clamp(2.1rem, 4.6vw, 3.6rem); font-weight: 500; letter-spacing: -.025em; line-height: 1.06; margin-bottom: 14px; }
.hs-sub { color: inherit; opacity: .86; font-size: 1.0625rem; line-height: 1.55; margin-bottom: 24px; max-width: 38ch; }
.hs-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.hs-btn { display: inline-block; padding: 12px 22px; border: 1px solid var(--ink); border-radius: 8px; background: var(--ink); color: var(--ground); font-weight: 600; font-size: .9375rem; transition: opacity .15s ease; }
.hs-btn:hover { opacity: .86; }
.hs-btn.ghost { background: transparent; color: var(--ink); }
.hs-btn.ghost:hover { background: var(--ink); color: var(--ground); opacity: 1; }
.hs-visual { position: relative; height: 430px; min-width: 0; }
.hs-fan img { position: absolute; top: 50%; left: 50%; max-height: 370px; max-width: 46%; box-shadow: 0 14px 34px rgba(0, 0, 0, .22); }
.hs-fan img:nth-child(1) { transform: translate(-108%, -50%) rotate(-7deg); }
.hs-fan img:nth-child(2) { transform: translate(-50%, -50%); z-index: 2; }
.hs-fan img:nth-child(3) { transform: translate(8%, -50%) rotate(7deg); }
.hs-fan.wide img { max-width: 58%; }
.hs-fan.wide img:nth-child(1) { transform: translate(-82%, -74%) rotate(-5deg); }
.hs-fan.wide img:nth-child(3) { transform: translate(-18%, -26%) rotate(5deg); }
.hs-screen { display: flex; align-items: center; justify-content: center; }
.hs-screen img { max-width: 100%; max-height: 100%; border-radius: 10px; box-shadow: 0 18px 44px rgba(0, 0, 0, .28); }
.hs-devices { height: 460px; }
.hs-devices img { border-radius: 0; box-shadow: none; filter: drop-shadow(0 12px 16px rgba(30, 30, 40, .24)); }
.hs-tabs { display: flex; justify-content: center; gap: 30px; padding: 16px 0 6px; overflow-x: auto; scrollbar-width: none; }
.hs-tabs::-webkit-scrollbar { display: none; }
.hs-tabs button { flex: none; padding: 4px 0; border-bottom: 2px solid transparent; font-size: .9375rem; font-weight: 500; color: var(--text-muted); transition: color .15s ease; }
.hs-tabs button:hover { color: var(--text); }
.hs-tabs button.active { color: var(--text); border-bottom-color: currentColor; }

/* ---- Section frame ---- */
.hp-sec { padding: 88px 0 0; }
.hp-sec:last-of-type { padding-bottom: 96px; }
.hp-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.hp-kicker { font-size: .8125rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 10px; }
.hp-title { font-size: clamp(1.9rem, 3.6vw, 2.75rem); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; }
.hp-lead { color: var(--text-muted); font-size: 1.0625rem; line-height: 1.55; margin-top: 10px; max-width: 56ch; }
.hp-all { flex: none; font-size: .9375rem; font-weight: 600; color: var(--text); padding-bottom: 4px; }
.hp-all:hover { text-decoration: underline; text-underline-offset: 4px; }

/* ---- Start to finish ---- */
.hp-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.hp-step { display: flex; flex-direction: column; padding: 14px 14px 22px; border-radius: var(--hp-radius); color: #181818; background: var(--ground); transition: transform .25s ease; }
.hp-step:hover { transform: translateY(-4px); }
.hp-step img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: center top; border-radius: 10px; margin-bottom: 18px; background: rgba(0, 0, 0, .06); }
.hp-step .n { padding: 0 8px; font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; opacity: .68; margin-bottom: 6px; }
.hp-step h3 { padding: 0 8px; color: inherit; font-size: 1.375rem; font-weight: 500; letter-spacing: -.015em; margin-bottom: 8px; }
.hp-step p { padding: 0 8px; color: inherit; opacity: .8; font-size: .9375rem; line-height: 1.5; }

/* ---- Shop: six cards, 3x2 ---- */
.shop-preview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 20px; }
.preview-card { display: block; color: var(--text); }
.preview-img { display: flex; align-items: center; justify-content: center; aspect-ratio: 6 / 5; padding: 7%; overflow: hidden; border-radius: var(--hp-radius); background: var(--hp-tint); }
/* Portrait and landscape designs both show whole, like a card on a table. */
.preview-img img { max-width: 100%; max-height: 100%; width: auto; height: auto; box-shadow: 0 8px 22px rgba(0, 0, 0, .16); transition: transform .4s ease; }
.preview-card:hover .preview-img img { transform: scale(1.04); }
.preview-body { padding: 14px 4px 0; }
.preview-cat { font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 3px; }
.preview-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.preview-name { font-size: 1.125rem; font-weight: 600; letter-spacing: -.01em; line-height: 1.3; }
.preview-price { flex: none; font-weight: 600; }

/* ---- Occasions ---- */
.occ-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.occ-card { position: relative; display: flex; align-items: flex-end; aspect-ratio: 1; overflow: hidden; border-radius: var(--hp-radius); background: var(--bg-alt); }
.occ-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; transition: transform .7s cubic-bezier(.2, .6, .2, 1); }
.occ-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .66) 0%, rgba(0, 0, 0, .1) 42%, rgba(0, 0, 0, 0) 66%); }
.occ-card:hover img { transform: scale(1.05); }
.occ-card-name { position: relative; z-index: 1; padding: 20px 22px; color: #fff; font-size: 1.375rem; font-weight: 500; letter-spacing: -.015em; }

/* ---- Colored panels ---- */
.hp-panel { padding: 56px 64px; border-radius: var(--hp-radius); color: var(--ink); background: var(--ground); }
.hp-panel .hp-kicker, .hp-panel .hp-lead { color: inherit; opacity: .82; }
.hp-panel .hp-title { color: inherit; }
.hp-panel h3 { color: inherit; font-size: 1.25rem; font-weight: 500; letter-spacing: -.015em; }

.hp-free { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.hp-free .hs-actions { margin-top: 22px; }
.hp-free ul { list-style: none; margin-top: 12px; }
.hp-free li { padding: 10px 0; border-top: 1px solid color-mix(in srgb, var(--ink) 18%, transparent); font-size: .9375rem; line-height: 1.4; }

.hp-vendors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; }
.hp-vendors > div + div { padding-left: 56px; border-left: 1px solid color-mix(in srgb, var(--ink) 24%, transparent); }
.hp-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 24px; }
.hp-chips a { padding: 8px 15px; border: 1px solid color-mix(in srgb, var(--ink) 42%, transparent); border-radius: 999px; color: inherit; font-size: .875rem; transition: background-color .15s ease, color .15s ease; }
.hp-chips a:hover { background: var(--ink); color: var(--ground); }
.hp-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 44px; padding-top: 28px; border-top: 1px solid color-mix(in srgb, var(--ink) 24%, transparent); }
.hp-stats b { display: block; font-size: 1.875rem; font-weight: 500; letter-spacing: -.02em; }
.hp-stats span { font-size: .8125rem; line-height: 1.35; opacity: .82; }
.hp-source { margin-top: 18px; color: inherit; opacity: .7; font-size: .75rem; line-height: 1.5; }

/* ---- Journal ---- */
.hp-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.hp-post { display: block; color: var(--text); }
.hp-post img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--hp-radius); background: var(--hp-tint); margin-bottom: 14px; }
.hp-post h3 { font-size: 1.1875rem; font-weight: 500; letter-spacing: -.015em; line-height: 1.28; }
.hp-post:hover h3 { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }

/* ---- Questions ---- */
.hp-faq { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: 56px; }
.hp-faq details { border-top: 1px solid var(--border); }
.hp-faq details:last-child { border-bottom: 1px solid var(--border); }
.hp-faq summary { display: flex; justify-content: space-between; gap: 18px; padding: 18px 0; font-size: 1.0625rem; font-weight: 500; cursor: pointer; list-style: none; }
.hp-faq summary::-webkit-details-marker { display: none; }
.hp-faq summary::after { content: '+'; flex: none; font-size: 1.25rem; line-height: 1.2; color: var(--text-muted); }
.hp-faq details[open] summary::after { content: '\2212'; }
.hp-faq details p { padding: 0 34px 20px 0; color: var(--text-muted); line-height: 1.6; }

/* ---- Closing ---- */
.hp-close { text-align: center; padding: 72px 32px; }
.hp-close .hp-lead { margin: 12px auto 26px; }
.hp-close .hs-actions { justify-content: center; }

/* ---- Coming soon, when the shop or vendors are switched off ---- */
.cs-panel { padding: 40px 24px; border-radius: var(--hp-radius); text-align: center; background: var(--hp-tint); }
.cs-badge { display: inline-block; margin-bottom: 10px; font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); }
.cs-panel p { max-width: 480px; margin: 0 auto; color: var(--text-muted); line-height: 1.6; }
.cs-panel a { color: var(--text); text-decoration: underline; }

@media (max-width: 1024px) {
  .hp-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hp-panel { padding: 44px 36px; }
  .hp-free { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
  .hp-free > div:first-child { grid-column: 1 / -1; }
  .hp-vendors { gap: 36px; }
  .hp-vendors > div + div { padding-left: 36px; }
  .hp-faq { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 768px) {
  .hs-slide { grid-template-columns: minmax(0, 1fr); gap: 14px; min-height: 0; padding: 22px 20px 26px; text-align: center; align-content: start; }
  .hs-visual { height: 230px; grid-row: 1; }
  .hs-devices { height: 250px; }
  .hs-fan img { max-height: 205px; }
  .hs-title { font-size: 2rem; margin-bottom: 8px; }
  .hs-sub { font-size: .9375rem; margin: 0 auto 16px; }
  .hs-actions { justify-content: center; }
  .hs-tabs { justify-content: flex-start; gap: 22px; }
  .home-show .sc-arrow { display: none; }
  .hp-panel .hs-actions { justify-content: flex-start; }
  .hp-panel.hp-close .hs-actions { justify-content: center; }
  .hp-sec { padding-top: 60px; }
  .hp-sec:last-of-type { padding-bottom: 64px; }
  .hp-head { margin-bottom: 22px; }
  .hp-vendors { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .hp-vendors > div + div { padding: 32px 0 0; border-left: 0; border-top: 1px solid color-mix(in srgb, var(--ink) 24%, transparent); }
  .hp-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hp-posts { display: flex; gap: 12px; margin: 0 -18px; padding: 0 18px 4px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .hp-posts::-webkit-scrollbar { display: none; }
  .hp-post { flex: 0 0 78%; scroll-snap-align: center; }
}
@media (max-width: 640px) {
  .hp-head { flex-direction: column; align-items: flex-start; gap: 10px; }
  .hp-steps { display: flex; gap: 12px; margin: 0 -18px; padding: 0 18px 4px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .hp-steps::-webkit-scrollbar { display: none; }
  .hp-step { flex: 0 0 78%; scroll-snap-align: center; }
  .shop-preview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
  .preview-row { flex-direction: column; gap: 2px; }
  .preview-name { font-size: .9375rem; }
  .occ-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .occ-card-name { padding: 14px; font-size: 1.0625rem; }
  .hp-panel { padding: 32px 22px; }
  .hp-free { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .hp-close { padding: 44px 22px; }
}

/* ---- Features page ---- */
.fx-hero { padding: 64px 76px; text-align: center; }
.fx-hero .hs-sub { max-width: 52ch; margin-left: auto; margin-right: auto; }
.fx-hero .hs-actions { justify-content: center; }
.fx-nav { justify-content: flex-start; }
.fx-nav a { flex: none; padding: 4px 0; font-size: .9375rem; font-weight: 500; color: var(--text-muted); }
.fx-nav a:hover { color: var(--text); }
.fx-sec { padding-top: 24px; scroll-margin-top: calc(var(--nav-h) - 8px); }
#free-vs-paid { scroll-margin-top: var(--nav-h); }
.fx-block { padding: 48px 56px; }
.fx-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.fx-label { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 12px; }
.fx-label .hp-kicker { margin: 0; }
.fx-tag { padding: 4px 10px; border-radius: 999px; background: var(--ink); color: var(--ground); font-size: .75rem; font-weight: 600; }
.fx-list { list-style: none; margin-top: 16px; }
.fx-list li { position: relative; padding: 7px 0 7px 22px; color: inherit; font-size: .9375rem; line-height: 1.4; }
.fx-list li::before { content: '\2713'; position: absolute; left: 0; font-weight: 700; }
.fx-media img { display: block; width: 100%; max-height: 420px; object-fit: cover; object-position: top center; border-radius: 12px; box-shadow: 0 14px 34px rgba(0, 0, 0, .2); }
.fx-how { margin-top: 36px; }
.fx-steps { counter-reset: fx; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 14px; }
.fx-steps li { counter-increment: fx; padding-top: 12px; border-top: 1px solid color-mix(in srgb, var(--ink) 28%, transparent); color: inherit; font-size: .9375rem; line-height: 1.45; }
.fx-steps li::before { content: counter(fx); display: block; font-size: 1.375rem; font-weight: 500; margin-bottom: 4px; }
.fx-steps b { font-weight: 600; }
.fx-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 30px; }
.fx-foot .hs-btn { flex: none; }
.fx-note { color: inherit; opacity: .86; font-size: .875rem; line-height: 1.5; }
.fx-note a { color: inherit; text-decoration: underline; }
.fx-tools { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 28px; }
.fx-tools a { padding: 20px; border-radius: 12px; background: rgba(255, 255, 255, .5); color: inherit; transition: background-color .15s ease; }
.fx-tools a:hover { background: rgba(255, 255, 255, .78); }
.fx-tools b { display: block; font-size: 1.0625rem; font-weight: 600; margin-bottom: 6px; }
.fx-tools span { font-size: .875rem; line-height: 1.45; }
.fx-table { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--hp-radius); }
.fx-table table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: .9375rem; }
.fx-table th, .fx-table td { padding: 15px 20px; text-align: left; line-height: 1.4; border-bottom: 1px solid var(--border); color: var(--text-muted); }
.fx-table th { background: var(--hp-tint); color: var(--text); font-weight: 600; }
.fx-table td:first-child { color: var(--text); font-weight: 500; }
.fx-table tr:last-child td { border-bottom: 0; }
.fx-ent { margin-top: 16px; color: var(--text-muted); font-size: .9375rem; line-height: 1.55; }
.fx-ent b { color: var(--text); }
.fx-ent a { color: var(--text); text-decoration: underline; }
@media (max-width: 1024px) {
  .fx-block { padding: 40px 32px; }
  .fx-top { gap: 32px; }
  .fx-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .fx-hero { padding: 36px 22px; }
  .fx-nav { gap: 22px; }
  .fx-top { grid-template-columns: minmax(0, 1fr); }
  .fx-steps { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .fx-foot { flex-direction: column; align-items: flex-start; gap: 14px; }
}
@media (max-width: 640px) {
  .fx-block { padding: 30px 22px; }
  .fx-tools { grid-template-columns: minmax(0, 1fr); }
  .fx-table table { min-width: 0; }
  .fx-table thead { display: none; }
  .fx-table tr { display: block; padding: 14px 18px; border-bottom: 1px solid var(--border); }
  .fx-table tr:last-child { border-bottom: 0; }
  .fx-table td { display: block; padding: 3px 0; border: 0; }
  .fx-table td:first-child { font-size: 1rem; font-weight: 600; margin-bottom: 3px; }
  .fx-table td[data-label]::before { content: attr(data-label) ': '; color: var(--text); font-weight: 500; }
}

/* ---- Pricing page ---- */
.pr-plans { padding-top: 20px; }
.pr-plan-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 20px; }
.pr-plan { display: flex; flex-direction: column; padding: 44px 48px; }
.pr-plan-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.pr-price { font-size: clamp(3.25rem, 6vw, 4.75rem); font-weight: 500; letter-spacing: -.03em; line-height: 1; margin-top: 2px; }
.pr-talk { font-size: clamp(2.25rem, 4vw, 3rem); line-height: 1.1; }
.pr-list { columns: 2; column-gap: 32px; margin-top: 24px; padding-top: 16px; border-top: 1px solid color-mix(in srgb, var(--ink) 22%, transparent); }
.pr-list li { break-inside: avoid; }
.pr-ent .fx-list { margin-bottom: 24px; }
.pr-ent .hs-btn, .pr-ent .pr-current { align-self: flex-start; margin-top: auto; font-family: inherit; cursor: pointer; }
.pr-current { flex: none; padding: 9px 16px; border: 1px solid currentColor; border-radius: 8px; font-size: .9375rem; font-weight: 600; }
.pr-ent .pr-current { cursor: default; }
.pr-extras { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.pr-extra { display: block; padding: 14px 14px 24px; border-radius: var(--hp-radius); color: #181818; background: var(--ground); }
a.pr-extra { transition: transform .25s ease; }
a.pr-extra:hover { transform: translateY(-4px); }
.pr-art { height: 200px; margin-bottom: 18px; overflow: hidden; border-radius: 10px; background: rgba(255, 255, 255, .5); }
.pr-art img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.pr-card-art { display: flex; align-items: center; justify-content: center; padding: 16px; }
.pr-card-art img { width: auto; height: auto; max-width: 100%; max-height: 100%; box-shadow: 0 8px 20px rgba(0, 0, 0, .18); }
.pr-extra h3, .pr-extra p, .pr-cost { padding: 0 8px; color: inherit; }
.pr-extra h3 { font-size: 1.0625rem; font-weight: 500; letter-spacing: -.01em; margin-bottom: 4px; }
.pr-cost { font-size: 1.625rem; font-weight: 500; letter-spacing: -.02em; line-height: 1.2; margin-bottom: 8px; }
.pr-cost span { font-size: .9375rem; font-weight: 400; letter-spacing: 0; }
.pr-extra p { opacity: .8; font-size: .9375rem; line-height: 1.5; }
.ent-overlay { position: fixed; inset: 0; z-index: 200; display: none; align-items: center; justify-content: center; padding: 20px; background: rgba(0, 0, 0, .5); }
.ent-overlay.open { display: flex; }
.ent-dialog { position: relative; width: 100%; max-width: 560px; max-height: 92vh; overflow: auto; padding: 32px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--bg); box-shadow: var(--shadow-lg); }
.ent-x { position: absolute; top: 14px; right: 18px; border: none; background: none; font-size: 1.5rem; line-height: 1; color: var(--text-faint); cursor: pointer; }
.ent-x:hover { color: var(--text); }
.ent-dialog h3 { font-size: 1.375rem; font-weight: 600; letter-spacing: -.02em; margin-bottom: 6px; }
.ent-sub { margin-bottom: 22px; color: var(--text-muted); font-size: .9375rem; line-height: 1.5; }
#entForm label { display: block; margin-bottom: 14px; font-size: .8125rem; font-weight: 600; color: var(--text); }
.ent-opt { color: var(--text-faint); font-weight: 400; }
#entForm input, #entForm textarea { display: block; width: 100%; margin-top: 6px; padding: 11px 13px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg); color: var(--text); font-family: inherit; font-size: .9375rem; font-weight: 400; }
#entForm input:focus, #entForm textarea:focus { outline: none; border-color: var(--text); }
.ent-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.ent-msg { min-height: 1px; margin: 2px 0 14px; font-size: .875rem; }
.ent-msg.err { color: #dc2626; }
.ent-msg.ok { color: #16a34a; }

/* ---- About page ---- */
.ab-hero { border-radius: var(--hp-radius); }
.ab-story { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 56px; align-items: start; }
.ab-story p { margin-bottom: 16px; color: var(--text-muted); font-size: 1.125rem; line-height: 1.6; }
.ab-story p:last-child { margin-bottom: 0; }
.ab-values { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin-top: 32px; }
.ab-values > div { padding-top: 14px; border-top: 1px solid color-mix(in srgb, var(--ink) 34%, transparent); }
.ab-values h3 { margin-bottom: 8px; }
.ab-values p { color: inherit; opacity: .86; font-size: .9375rem; line-height: 1.5; }
.ab-press { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ab-press-more { margin-top: 16px; }
.ab-press-card { min-width: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 12px; background: var(--bg); }
.ab-press-art { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; overflow: hidden; background: var(--hp-tint); }
.ab-press-art img { width: 100%; height: 100%; object-fit: cover; }
.ab-press-art.logo { padding: 12%; }
.ab-press-art.logo img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.ab-press-art.banner { background: #f5ede5; }
.ab-press-art.banner img { height: auto; object-fit: contain; }
.ab-press-art.on-light { background: #fff; }
.ab-press-art.on-dark { background: #0a0a0a; }
.ab-press-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 13px; border-top: 1px solid var(--border); }
.ab-press-row b { display: block; font-size: .875rem; font-weight: 600; line-height: 1.3; }
.ab-press-row span { font-size: .75rem; color: var(--text-muted); }
.ab-press-row a { flex: none; font-size: .8125rem; font-weight: 600; color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
.ab-legal { margin-top: 22px; color: inherit; opacity: .7; font-size: .8125rem; }
@media (max-width: 1024px) {
  .pr-plan-grid { grid-template-columns: minmax(0, 1fr); }
  .pr-plan { padding: 40px 36px; }
  .pr-extras { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ab-story { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .ab-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ab-press { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .pr-plan { padding: 30px 22px; }
  .pr-plan-top { flex-direction: column; gap: 16px; }
  .pr-list { columns: 1; }
  .pr-extras { grid-template-columns: minmax(0, 1fr); }
  .ent-row { grid-template-columns: 1fr; }
  .ab-values { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .ab-press { grid-template-columns: minmax(0, 1fr); }
}
