.hero-tags { display: flex; flex-wrap: wrap; gap: .35rem .9rem; padding: 0; margin: 1.35rem 0 0; list-style: none; color: var(--muted); font: .67rem/1.55 var(--mono); }
.hero-tags li::before { content: "✦"; color: var(--accent); margin-right: .35rem; }
.art-shop .art-field { background-color: #101b39; }
.art-shop .art-wave { transform: scaleX(-1) rotate(-8deg); }

.service-grid { display: grid; gap: .8rem; }
.service-card {
  display: flex; flex-direction: column; align-items: flex-start; gap: .55rem;
  background: radial-gradient(ellipse at var(--gx, 80%) var(--gy, 0%), #27478744, transparent 75%), var(--surface);
  padding: 1.2rem; border: 1px solid var(--line); border-radius: .9rem;
  transition: border-color .22s;
}
.service-card:hover, .service-card:focus-within { border-color: #638bd0; }
.card-top { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: .5rem; color: var(--muted); font: .67rem var(--mono); letter-spacing: .12em; }
.service-card h3 { margin-top: .4rem; font-size: 1.35rem; line-height: 1.15; letter-spacing: -.035em; }
.service-card p, .ebook-copy > p:not(.eyebrow), .contact-copy > p:not(.eyebrow), .briefing form p, .future { color: var(--muted); }
.service-card p { font-size: .92rem; margin-bottom: .35rem; }
.text-link { display: inline-flex; min-height: 44px; align-items: center; gap: .4rem; margin-top: auto; color: var(--accent); font-size: .86rem; font-weight: 730; }
.text-link:hover { text-decoration: underline; }
.text-link .icon { width: .9rem; }

.ebook { display: grid; overflow: hidden; background: var(--surface); border: 1px solid var(--line); border-radius: 1rem; }
.ebook-image { padding: clamp(.8rem, 3vw, 1.6rem); display: grid; place-items: center; background: radial-gradient(ellipse at center, #292c66, #0d142b 80%); }
.ebook-image img { width: min(100%, 22rem); height: auto; border: 1px solid #484774; border-radius: .6rem; box-shadow: 0 16px 44px #02061696; }
.ebook-copy { align-self: center; padding: clamp(1.15rem, 5vw, 3rem); }
.ebook-copy h3 { font-size: clamp(1.65rem, 4.3vw, 3rem); line-height: 1.05; letter-spacing: -.055em; margin: .55rem 0 .7rem; }
.ebook-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1.2rem; margin-top: 1.15rem; }
.price { font-size: 1.55rem; color: var(--blue); letter-spacing: -.035em; }
.future { margin-top: .85rem; font-size: .84rem; }

.contact { display: grid; gap: 1.25rem; align-items: start; }
.contact-copy > p:not(.eyebrow) { margin-top: .7rem; max-width: 38rem; }
.contact-copy .button { margin-top: 1rem; }
.briefing { border: 1px solid #354c73; border-radius: .85rem; background: var(--surface); }
.briefing summary { cursor: pointer; padding: .9rem 1rem; min-height: 52px; font-size: .92rem; font-weight: 720; }
.briefing summary .soon { margin-left: .25rem; }
.briefing form { display: grid; gap: .55rem; padding: 0 1rem 1rem; }
.briefing label { font-size: .89rem; font-weight: 650; }
.briefing label span { color: var(--muted); font-weight: 400; }
.briefing select, .briefing textarea { min-height: 44px; width: 100%; border: 1px solid #456088; border-radius: .5rem; background: #080f1f; color: var(--text); padding: .55rem .65rem; }
.briefing textarea { resize: vertical; }
.briefing textarea::placeholder { color: var(--muted); }
.briefing form p { font-size: .8rem; }
.briefing form .button { justify-self: start; text-align: left; }

@media (min-width: 36rem) {
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-card:last-child { grid-column: 1 / -1; }
}
@media (min-width: 48rem) {
  .ebook { grid-template-columns: .85fr 1fr; }
  .contact { grid-template-columns: 1.1fr 1fr; }
}
@media (min-width: 57rem) {
  .service-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .service-card { grid-column: span 2; }
  .service-card:nth-last-child(-n + 2) { grid-column: span 3; }
}
