.primary-menu { display: flex; gap: 34px; list-style: none; padding: 0; margin: 0; }
.primary-menu li { margin: 0; padding: 0; }
.brand img { object-fit: contain; }
.project-cover-image { display: block; width: 100%; height: 405px; object-fit: cover; }
.form-honey { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.brief-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.brief-row label { font-size: 12px; }
.brief-row label span { font-size: 11px; }
dialog .button .submit-label { font-size: 15px; }
dialog .button:disabled { opacity: .6; cursor: wait; transform: none; }
.form-note a { text-decoration: underline; text-underline-offset: 3px; }
#brief-status[data-error="true"] { color: #ffb7ba; }
#brief-status:empty { margin: 0; }
.form-flash { padding: 18px 22px; border: 1px solid #408087; border-radius: 16px; background: #11383c; color: #dcffff; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.editorial { padding-block: 70px 95px; min-height: 65vh; }
.editorial .page-title { max-width: 1000px; font-size: clamp(30px,4.7vw,64px); line-height: 1.2; letter-spacing: -.045em; font-weight: 500; margin: 18px 0 44px; overflow-wrap: anywhere; }
.entry-content { max-width: 820px; margin-inline: auto; font-size: 18px; line-height: 1.8; color: #c7cbd0; overflow-wrap: anywhere; }
.entry-content > * { max-width: 100%; }
.entry-content > *+* { margin-top: 1.25em; }
.entry-content h2,.entry-content h3,.entry-content h4 { color: #f8f8f8; line-height: 1.35; margin-top: 1.7em; }
.entry-content h2 { font-size: clamp(25px,3vw,36px); }.entry-content h3 { font-size: 23px; font-weight: 500; }
.entry-content a { color: #5de5ef; text-decoration: underline; text-underline-offset: .2em; }
.entry-content img,.entry-content video,.entry-content iframe { max-width: 100%; }.entry-content img { height: auto; border-radius: 14px; }
.entry-content figure { margin-inline: 0; }.entry-content figcaption { font-size: 14px; color: #9197a0; }
.entry-content blockquote { border-left: 2px solid var(--cyan); margin-inline: 0; padding: 10px 0 10px 25px; }
.entry-content pre { overflow: auto; padding: 22px; border: 1px solid #353b42; background: #101419; border-radius: 15px; font-size: 14px; }
.entry-content table { width: 100%; border-collapse: collapse; }.entry-content td,.entry-content th { padding: 10px 14px; border: 1px solid #3b424a; text-align: left; }
.entry-content .alignwide { max-width: min(1100px,calc(100vw - 80px)); width: max-content; margin-left: 50%; transform: translateX(-50%); }
.entry-content .alignfull { max-width: calc(100vw - 40px); width: calc(100vw - 40px); margin-left: 50%; transform: translateX(-50%); }
.entry-content .alignleft { float: left; margin: 0 24px 18px 0; }.entry-content .alignright { float: right; margin: 0 0 18px 24px; }.entry-content .aligncenter { margin-inline: auto; }
.entry-content::after { content: ''; display: block; clear: both; }
.article-cover { display: block; max-width: 100%; max-height: 630px; width: 100%; height: auto; object-fit: cover; border-radius: 24px; margin-bottom: 50px; }
.post-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }.post-card { border-radius: 24px; overflow: hidden; }.post-cover { display: block; width: 100%; height: 260px; object-fit: cover; }
.post-card-copy { padding: 28px; }.post-card-copy time { color: #909aa4; font-size: 13px; }.post-card-copy h2 { font-size: 25px; line-height: 1.4; margin-top: 17px; }.post-excerpt { font-size: 16px; line-height: 1.65; color: #aeb5bd; }.post-read { color: var(--cyan); font-size: 14px; }
.navigation { margin-top: 45px; }.nav-links { display: flex; gap: 16px; justify-content: space-between; }.page-numbers { display: inline-block; padding: 10px; }.page-numbers.current { color: var(--cyan); }
.search-form { max-width: 600px; margin-top: 30px; }.search-form > div { display: flex; gap: 12px; }.search-form button { flex-shrink: 0; }
.comments-area { margin: 60px auto 0; max-width: 820px; border-top: 1px solid #343942; padding-top: 35px; }.comments-area h2 { font-size: 26px; }.comment-list { list-style: none; padding: 0; }.comment-body { padding: 24px 0; border-bottom: 1px solid #343942; }.comment-meta { font-size: 14px; }.comment-author img { border-radius: 50%; vertical-align: middle; margin-right: 12px; }.comment-metadata,.reply { color: #7be8ec; font-size: 13px; }.comment-content { font-size: 16px; line-height: 1.6; }.comment-form-cookies-consent { display: flex; align-items: start; gap: 12px; }.comment-form-cookies-consent input { width: auto; margin-top: 4px; }.comment-form-cookies-consent label { margin: 0; }
.not-found p { color: #aab0b8; font-size: 17px; line-height: 1.6; }.not-found .intro-button { margin-top: 25px; }
@media(max-width:1050px) { .primary-menu { gap: 20px; }.project-cover-image { height: 360px; } }
@media(max-width:760px) { .editorial { padding-top: 45px; }.post-grid { grid-template-columns: 1fr; }.entry-content { font-size: 17px; }.project-cover-image { height: 380px; }.entry-content .alignwide,.entry-content .alignfull { max-width: 100%; width: 100%; margin-left: 0; transform: none; } }
@media(max-width:440px) { .brief-row { grid-template-columns: 1fr; gap: 0; }.project-cover-image { height: 338px; }.post-card-copy { padding: 22px; }.editorial .page-title { font-size: 30px; }.post-card-copy h2 { font-size: 22px; } }

/* Portfolio data comes from page fields; long titles must fit the grid. */
.project, .project-caption > div { min-width: 0; }
.project-caption h3, .project-caption p, .cover-meta { overflow-wrap: anywhere; }
.project-art .pindb-title, .project-art .litap-wordmark { max-width: calc(100% - 54px); overflow-wrap: anywhere; }
.project-cover-copy { position: absolute; top: 42%; left: 28px; max-width: 62%; z-index: 2; font-size: clamp(14px,1.4vw,19px); line-height: 1.4; overflow-wrap: anywhere; }
.litap .project-cover-copy { top: 22%; }
.project-art.has-copy .data-art, .project-art.has-copy .reading-art { opacity: .2; }
