/* A shared corner of the studio. All controls keep the site's crisp edges. */
.community-intro { display: grid; grid-template-columns: 1fr 240px; align-items: end; gap: 50px; padding-bottom: 54px; }
.community-intro .lead { max-width: 56ch; }
.community-intro .text-link { margin-top: 24px; }
.community-margin-note { color: var(--muted); font: italic 23px/1.5 var(--serif); padding: 0 0 11px 26px; border-left: 1px solid var(--line); }
.community-margin-note > span { display: block; margin-bottom: 12px; color: var(--copper); font: 35px var(--sans); }
.community-projects { display: grid; grid-template-columns: 1fr 1fr; border-block: 1px solid var(--line); }
.community-project { display: grid; grid-template-columns: 130px 1fr 20px; gap: 23px; align-items: center; padding: 26px 30px 26px 0; text-decoration: none; }
.community-project + .community-project { padding: 26px 0 26px 30px; border-left: 1px solid var(--line); }
.community-project-image { aspect-ratio: 16/10; overflow: hidden; background: var(--slate); }
.community-project-image img { width: 100%; height: 100%; object-fit: contain; }
.community-project small { display: block; color: var(--muted); font: 9px/1.7 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.community-project strong { display: block; font: 25px/1.2 var(--serif); margin: 6px 0 8px; }
.community-project-caption { display: block; color: var(--muted); font-size: 13px; line-height: 1.5; }
.community-project > span:last-child { color: var(--copper); }
.community-conversations { padding-block: 65px 76px; }
.community-conversations .section-heading { margin-bottom: 30px; }
.community-empty { border-top: 1px solid var(--line); padding-top: 34px; max-width: 760px; }
.community-empty h2, .community-empty h3 { margin: 11px 0 20px; font-size: 34px; }
.community-empty > p:not(.eyebrow) { max-width: 58ch; color: var(--muted); }
.community-empty .text-link { margin-top: 20px; }
.community-share { padding-block: 70px 76px; scroll-margin-top: 18px; }
.community-share-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 90px; }
.community-guidance h2 { margin: 14px 0 25px; font-size: 48px; }
.community-guidance > p:not(.eyebrow) { color: var(--text-soft); font-size: 16px; }
.community-steps { list-style: none; counter-reset: community-step; padding: 0; margin: 32px 0; }
.community-steps li { counter-increment: community-step; position: relative; padding: 0 0 24px 36px; }
.community-steps li::before { content: "0" counter(community-step); position: absolute; top: 4px; left: 0; color: var(--copper-dark); font: 11px/1.7 var(--mono); }
.community-steps strong { display: block; margin-bottom: 5px; font-size: 16px; }
.community-steps span { display: block; color: var(--text-soft); font-size: 15px; }
.community-small { font-size: 13px; line-height: 1.7; }
.community-availability { font-size: 14px; padding-bottom: 18px; margin-bottom: 22px; border-bottom: 1px solid #bab7ae; }
.community-availability[data-state=closed] { font-weight: 600; }
.community-form { margin: 0; }
.community-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.community-form fieldset:disabled { opacity: .65; }
.community-form .community-types { display: flex; flex-wrap: wrap; gap: 10px 27px; padding-bottom: 24px; }
.community-types legend { font-size: 15px; font-weight: 600; margin-bottom: 12px; }
.community-types label { display: flex; align-items: center; gap: 9px; font-size: 15px; min-height: 32px; }
.community-types input { width: 18px; height: 18px; accent-color: var(--copper-dark); flex-shrink: 0; }
.community-fields-two { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.community-field { margin-bottom: 22px; }
.community-field label, .community-receipt > label { display: block; margin-bottom: 7px; font-size: 15px; font-weight: 600; }
.community-field input:not([type=checkbox]):not([type=radio]), .community-field select, .community-field textarea, .community-receipt textarea, .community-review textarea { display: block; width: 100%; min-width: 0; padding: 11px 12px; background: transparent; color: inherit; border: 1px solid var(--outline); border-radius: 0; font: 16px/1.5 var(--sans); }
.community-field textarea, .community-receipt textarea, .community-review textarea { resize: vertical; min-height: 108px; }
.community-field select { min-height: 48px; }
.paper .community-field input:not([type=checkbox]):not([type=radio]), .paper .community-field select, .paper .community-field textarea, .paper .community-receipt textarea { border-color: #707c79; }
.community-field select option { background: var(--paper); color: var(--ink); }
.community-field input[type=file] { font-size: 13px !important; padding: 9px !important; }
.community-field input[type=file]::file-selector-button { border: 1px solid currentColor; border-radius: 0; background: transparent; color: inherit; font: inherit; padding: 7px 10px; margin-right: 10px; cursor: pointer; }
.community-field small { display: block; margin-top: 7px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.paper .community-field small { color: var(--text-soft); }
.community-consent { display: flex; align-items: flex-start; gap: 12px; margin: 24px 0; font-size: 13px; line-height: 1.7; }
.community-consent input { width: 20px; height: 20px; margin-top: 3px; accent-color: var(--copper-dark); flex-shrink: 0; }
.community-form .button { font: 600 15px/1.5 var(--sans); border-radius: 0; }
.community-form .button:disabled { cursor: wait; }
.community-submit-note { margin-top: 12px; color: var(--text-soft); }
.community-form-status { margin-top: 18px; font-size: 15px; overflow-wrap: anywhere; }
.community-form-status[data-state=error] { border-left: 3px solid currentColor; padding-left: 12px; font-weight: 600; }
.community-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.community-image-previews { display: grid; gap: 18px; margin-top: 18px; }
.community-image-preview { display: grid; grid-template-columns: 120px 1fr; gap: 18px; border-top: 1px solid #bab7ae; padding-top: 18px; }
.community-image-preview img { width: 120px; max-height: 150px; object-fit: contain; background: #e4ded3; }
.community-image-preview .community-field { margin: 0; }
.community-image-preview label { font-size: 13px; }
.community-image-preview .community-image-name { font-size: 12px; color: var(--text-soft); margin: 0 0 8px; overflow-wrap: anywhere; }
.community-remove { padding: 6px 0; min-height: 36px; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: inherit; font: 13px var(--sans); }
.community-receipt { padding: 26px; border: 1px solid #969a92; }
.community-receipt h3 { margin: 12px 0 18px; }
.community-receipt p:not(.eyebrow) { font-size: 15px; }
.community-receipt > label { margin-top: 23px; }
.community-receipt textarea { font: 12px/1.6 var(--mono); }
.community-receipt .actions { gap: 15px 25px; margin-top: 20px; }
.community-text-button { color: inherit; background: transparent; border: 0; border-bottom: 1px solid currentColor; padding: 0; border-radius: 0; cursor: pointer; margin-top: 22px; }
.community-withdraw { padding-block: 35px 60px; }
.community-withdraw summary { padding: 10px 0; cursor: pointer; font-size: 15px; }
.community-withdraw-content { max-width: 640px; padding: 18px 0; }
.community-withdraw-content > p { font-size: 15px; color: var(--muted); margin-bottom: 24px; }
.community-post-list { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; }
.community-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; }
.community-card { min-width: 0; border-top: 1px solid var(--line); padding-top: 22px; }
.community-card > a { display: block; margin-top: 19px; background: var(--slate); }
.community-card > a img { width: 100%; height: auto; max-height: 420px; object-fit: contain; }
.community-card h3 { margin: 22px 0 16px; font-size: 32px; }
.community-card h3 a { text-decoration: none; }
.community-card p { overflow-wrap: anywhere; }
.community-card p:not(.eyebrow):not(.muted) { font-size: 16px; color: var(--muted); }
.community-card > .muted { font: 11px/1.7 var(--mono); margin-top: 22px; }
.community-post { border-top: 1px solid var(--line); padding-top: 23px; min-width: 0; }
.community-conversations > .community-post { max-width: 900px; }
.community-post > .text-link::after { content: none; }
.community-post > .eyebrow { margin-top: 22px; }
.community-post > h2 { margin-top: 16px; }
.community-post > .muted { font: 12px/1.8 var(--mono); margin-top: 18px; }
.community-post > .prose { margin-top: 28px; }
.community-post-images { margin-top: 30px; display: grid; gap: 30px; }
.community-post-images figure { border-bottom: 1px solid var(--line); padding-bottom: 16px; }
.community-post-images img { max-height: 850px; width: 100%; object-fit: contain; background: var(--slate); }
.community-post-images figcaption { color: var(--muted); font-size: 13px; margin-top: 12px; overflow-wrap: anywhere; }
.community-post h3 { margin: 16px 0; }
.community-post h3 a { text-decoration: none; }
.community-post p { overflow-wrap: anywhere; }
.community-post .community-post-image { aspect-ratio: 4/3; background: var(--slate); margin-bottom: 18px; }
.community-post-image img { width: 100%; height: 100%; object-fit: contain; }
.community-post-meta { color: var(--muted); font: 11px/1.6 var(--mono); }
.community-post-body, .community-reply-body { white-space: pre-wrap; overflow-wrap: anywhere; }
.community-detail { max-width: 880px; padding-bottom: 70px; }
.community-detail .community-post-body { margin-block: 25px; }
.community-detail figure { margin-block: 30px; }
.community-detail figure img { margin-inline: auto; max-height: 850px; }
.community-detail figcaption { color: var(--muted); font-size: 13px; margin-top: 12px; }
.community-replies { margin-top: 50px; border-top: 1px solid var(--line); padding-top: 30px; }
.community-reply { margin-top: 28px; padding-bottom: 25px; border-bottom: 1px solid var(--line); }
.community-replies > .muted { margin-top: 18px; }
.community-reply p + p { margin-top: 12px; }
.community-reply p { overflow-wrap: anywhere; }
.community-discussion { margin-top: 45px; }
.community-discussion h2 { font-size: 34px; }
.community-discussion form { margin-top: 26px; max-width: 660px; }
.community-discussion .field { margin-bottom: 22px; }
.community-discussion .field label { display: block; margin-bottom: 7px; font-size: 15px; font-weight: 600; }
.community-discussion .field input, .community-discussion .field textarea { display: block; width: 100%; min-width: 0; padding: 11px 12px; border: 1px solid var(--outline); border-radius: 0; background: transparent; color: var(--paper); font: 16px/1.5 var(--sans); }
.community-discussion .field textarea { resize: vertical; min-height: 108px; }
.community-check { display: flex; align-items: flex-start; gap: 12px; margin: 24px 0 15px; font-size: 13px; line-height: 1.7; }
.community-check input { width: 20px; height: 20px; margin-top: 3px; flex-shrink: 0; accent-color: var(--copper); }
.community-discussion form > .muted { margin-bottom: 22px; font-size: 13px; }
.community-discussion [data-form-status] { margin-top: 18px; font-size: 15px; overflow-wrap: anywhere; }
.community-discussion [data-form-status][data-state=error] { border-left: 3px solid currentColor; padding-left: 12px; font-weight: 600; }
.community-report { margin-top: 35px; padding-top: 22px; border-top: 1px solid var(--line); }
.community-report summary { cursor: pointer; min-height: 44px; padding-block: 10px; font-size: 15px; }
.community-detail .community-form { margin-block: 30px; max-width: 660px; }
.community-detail summary { cursor: pointer; min-height: 44px; padding-block: 10px; }
.community-review { padding-block: 12px 20px; }
.community-review h1 { margin: 15px 0 22px; }
.community-review > h2 { margin: 14px 0 22px; }
.community-review > p:not(.eyebrow) { max-width: 75ch; color: var(--muted); }
.community-review .review-toolbar { display: flex; flex-wrap: wrap; gap: 12px; margin-block: 25px; }
.community-review [data-review-state] { padding: 10px 20px; border: 1px solid var(--outline); background: transparent; color: var(--paper); font: 15px var(--sans); border-radius: 0; }
.community-review [data-review-state][aria-pressed=true] { background: var(--paper); color: var(--ink); }
.community-review-item { padding-block: 30px 38px; border-top: 1px solid var(--line); }
.community-review-item h2 { font-size: 32px; margin: 12px 0 20px; }
.community-review-item .community-post-body { max-width: 70ch; }
.community-review-images { display: grid; grid-template-columns: repeat(3, 1fr); align-items: start; gap: 20px; margin-top: 25px; }
.community-review-images img { max-height: 380px; width: 100%; object-fit: contain; }
.community-review-images figcaption { font-size: 13px; color: var(--muted); margin-top: 8px; overflow-wrap: anywhere; }
.community-review-item .actions { margin-top: 22px; }
.community-review .button::after { content: none; }
.community-review-item label { display: block; margin-block: 20px 10px; font-size: 15px; }
.community-review-item .community-consent { display: flex; max-width: 80ch; }
.community-review-item .community-consent input { accent-color: var(--copper); }
.community-review .community-small { color: var(--muted); }
.community-review-status { margin-block: 20px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 1023px) { .community-intro { grid-template-columns: 1fr 190px; gap: 30px; } .community-project { grid-template-columns: 95px 1fr 15px; gap: 16px; padding-right: 20px; } .community-project + .community-project { padding-left: 20px; } .community-project strong { font-size: 22px; } .community-project-caption { display: none; } .community-share-layout { grid-template-columns: .72fr 1.28fr; gap: 45px; } .community-fields-two { grid-template-columns: 1fr; gap: 0; } }
@media (max-width: 767px) { .community-intro { grid-template-columns: 1fr; gap: 20px; padding-bottom: 35px; } .community-margin-note { display: none; } .community-projects { grid-template-columns: 1fr; } .community-project, .community-project + .community-project { padding: 20px 0; grid-template-columns: 105px 1fr 20px; border-left: 0; } .community-project + .community-project { border-top: 1px solid var(--line); } .community-share-layout { grid-template-columns: 1fr; gap: 35px; } .community-guidance h2 { font-size: 42px; } .community-steps { margin-bottom: 10px; } .community-steps li { padding-bottom: 18px; } .community-share { padding-block: 45px; } .community-conversations { padding-block: 45px 50px; } .community-conversations .section-heading { display: block; } .community-conversations .section-heading > p { margin-top: 22px; } .community-post-list, .community-grid { grid-template-columns: 1fr; } .community-review-images { grid-template-columns: 1fr; } }
@media (max-width: 389px) { .community-project, .community-project + .community-project { grid-template-columns: 78px 1fr 15px; gap: 14px; } .community-project strong { font-size: 21px; } .community-project small { font-size: 8px; } .community-image-preview { grid-template-columns: 80px 1fr; gap: 12px; } .community-image-preview img { width: 80px; } .community-receipt { padding: 18px; } }
@media (prefers-reduced-motion: reduce) { .community-project, .community-form button { transition: none; } }
