/* The supplied public-site composition outside the full-width Wave5 editor.
   No global resets: this file must never restyle the editor's controls. */
@view-transition { navigation: none; }
.generator-directory { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
.generator-card { display: flex; flex-direction: column; min-width: 0; color: #172333; text-decoration: none; border-bottom: 1px solid #dfe4e8; padding-bottom: 24px; }
.generator-card-art { display: grid; place-items: center; aspect-ratio: 1.55; overflow: hidden; background: #f2f4f5; border-radius: 16px; color: #17335a; }
.generator-card-art svg { width: 82%; height: 100%; max-height: 235px; }
.generator-card-art img { width: 100%; height: 100%; object-fit: cover; }
.generator-art-vase,.generator-art-diagram { position: relative; }
.generator-art-vase img,.generator-art-diagram img { position: absolute; inset: 0; object-fit: contain; padding: 14px; }
.generator-art-lamp,.generator-art-light,.generator-art-sculpture { background: #fff5eb; color: var(--navy); }
.generator-art-lineart,.generator-art-rose,.generator-art-tree { background: #f1f4f0; color: #466953; }
.generator-card-copy { display: flex; flex-direction: column; flex: 1; padding: 21px 2px 0; }
.generator-card h3 { margin: 0 0 9px; font-size: 22px; line-height: 1.25; letter-spacing: -.025em; }
.generator-card p { margin: 0 0 20px; color: #697787; font-size: 15px; line-height: 1.6; }
.generator-card-action { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; font-size: 14px; font-weight: 650; min-height: 24px; }
.generator-card-action svg { width: 22px; height: 22px; flex: 0 0 auto; }
.generator-card:hover .generator-card-art { box-shadow: 0 8px 22px -16px #17335a66; }
.generator-card:hover h3 { color: var(--navy); }
.generator-next-step { border-top: 1px solid #dfe4e8; margin-top: 48px; padding: 46px 0 0; }
.generator-next-step h2 { margin: 0 0 18px; font-size: clamp(30px,3vw,46px); letter-spacing: -.035em; }
.generator-next-step p { max-width: 680px; color: #697787; line-height: 1.7; margin: 0 0 24px; }
.generator-guide { color: #172333; background: #fff; border-top: 1px solid #dfe4e8; margin-top: 36px; padding: 48px clamp(20px,4.6vw,72px) 56px; scroll-margin-top: 100px; font-family: Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; }
.generator-guide-inner { max-width: 1320px; margin: 0 auto; min-width: 0; }
.generator-guide-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: #697787; font-size: 13px; margin-bottom: 36px; }
.generator-guide a { color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.generator-guide-intro { display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(32px,6vw,100px); }
.generator-guide h2 { margin: 0 0 18px; font-size: clamp(26px,2.8vw,38px); font-weight: 650; letter-spacing: -.03em; line-height: 1.15; }
.generator-guide p,.generator-guide dd { max-width: 70ch; margin: 0; font-size: 16px; line-height: 1.75; color: #586676; }
.generator-guide dl { margin: 0; display: grid; gap: 26px; }
.generator-guide dt { font-size: 17px; font-weight: 650; margin: 0 0 7px; }
.generator-guide-faq { display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(32px,6vw,100px); margin-top: 52px; padding-top: 42px; border-top: 1px solid #dfe4e8; }
.generator-guide details { border-bottom: 1px solid #dfe4e8; margin: 0; padding: 0; }
.generator-guide summary { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 19px 0; font-size: 17px; font-weight: 600; line-height: 1.45; cursor: pointer; list-style: none; }
.generator-guide summary::-webkit-details-marker { display: none; }
.generator-guide summary span { color: var(--navy); font-size: 24px; flex: 0 0 24px; text-align: center; }
.generator-guide details[open] summary span { transform: rotate(45deg); }
.generator-guide details p { margin: 0 32px 24px 0; }
.generator-guide-links { display: flex; gap: 24px; flex-wrap: wrap; margin-top: 34px; }
.generator-guide-links a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-weight: 650; text-decoration: none; }
.generator-guide-links svg { width: 20px; height: 20px; }
.generator-page-footer { background: #101827; color: #fff; padding: 32px clamp(20px,4.6vw,72px); display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.generator-page-footer > a { display: inline-flex; align-items: center; gap: 10px; color: #ff6b35; text-decoration: none; font-size: 26px; font-weight: 750; }
.generator-page-footer nav { display: flex; flex-wrap: wrap; gap: 16px 28px; }
.generator-page-footer nav a { color: #d9e2eb; text-decoration: none; font-size: 14px; display: inline-flex; align-items: center; min-height: 44px; }
.generator-paused { padding-top: 46px; padding-bottom: 34px; }
.generator-paused p { margin: 18px 0 24px; }
.generator-directory-body a:focus-visible,.generator-guide :is(a,summary):focus-visible,.generator-page-footer a:focus-visible { outline: 2px solid #ff6b35; outline-offset: 5px; }
@media (max-width: 1000px) { .generator-directory { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; } }
@media (max-width: 640px) {
 .generator-directory { grid-template-columns: minmax(0,1fr); gap: 30px; }
 .generator-card-art { aspect-ratio: 1.75; }
 .generator-card-art svg { max-height: 210px; }
 .generator-guide { margin-top: 24px; padding-top: 32px; padding-bottom: 36px; }
 .generator-guide-intro,.generator-guide-faq { grid-template-columns: minmax(0,1fr); gap: 24px; }
 .generator-guide-crumbs { margin-bottom: 28px; }
 .generator-guide-faq { margin-top: 36px; padding-top: 30px; }
 .generator-guide h2 { margin-bottom: 14px; }
 .generator-guide p,.generator-guide dd { font-size: 15px; }
 .generator-guide summary { font-size: 16px; }
}
