/* Kaitu — publishing pages: Write for Kaitu (/write), Advertise with Kaitu (/advertise) and contributor profiles
   (/contributors/<slug>). Loaded after journal.css (the Kaitu Journal / Kaitu Academy lockups live there). */

.pub-hero { padding-bottom: clamp(30px, 5vw, 60px); }
.pub-hero__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(24px, 5vw, 80px); align-items: end; }
.pub-hero__marks { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-bottom: clamp(16px, 2vw, 24px); }
.pub-hero .h-hero { max-width: 11ch; }
.pub-points { display: grid; gap: 14px; }
.pub-points li { display: grid; gap: 4px; padding: 16px 18px; background: var(--card); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow-1); }
.pub-points b { font-family: var(--f-display); font-weight: 400; font-size: 1.2rem; letter-spacing: -.015em; }
.pub-points span { font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.55; }
@media (max-width: 900px) { .pub-hero__grid { grid-template-columns: minmax(0, 1fr); } }

.pub-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 28px); }
.pub-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pub-card { display: grid; gap: 12px; align-content: start; padding: clamp(20px, 2.6vw, 30px); background: var(--card); border: 1px solid rgba(26, 23, 18, .06); border-radius: var(--r-lg); box-shadow: var(--shadow-1); min-width: 0; }
.pub-card h3 { font-family: var(--f-display); font-size: clamp(1.3rem, 1.1rem + .6vw, 1.6rem); letter-spacing: -.02em; line-height: 1.12; }
.pub-card p { color: var(--ink-2); font-size: var(--fs-sm); line-height: 1.6; }
@media (max-width: 960px) { .pub-cards { grid-template-columns: minmax(0, 1fr); } .pub-cards--2 { grid-template-columns: minmax(0, 1fr); } }
.pub-note { margin-top: 22px; max-width: 72ch; }
.pub-steps { margin-top: clamp(36px, 5vw, 60px); }
.pub-standards { margin-top: clamp(36px, 5vw, 60px); max-width: 780px; display: grid; gap: 16px; }

.pub-form-wrap { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(24px, 5vw, 80px); align-items: start; }
.pub-form { display: grid; gap: 16px; padding: clamp(20px, 3vw, 34px); background: var(--card); border-radius: var(--r-lg); box-shadow: var(--shadow-2); min-width: 0; }
.pub-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pub-form .field { display: grid; gap: 6px; min-width: 0; }
.pub-form label { font-size: var(--fs-sm); font-weight: 500; }
.pub-form .consent { font-weight: 400; display: flex; gap: 10px; align-items: flex-start; line-height: 1.5; }
.pub-form .consent input { margin-top: 3px; flex: none; }
.pub-checks { border: 0; padding: 0; margin: 0; display: grid; gap: 8px; }
.pub-checks legend { font-size: var(--fs-sm); font-weight: 500; margin-bottom: 8px; }
.pub-form__err { color: var(--seal-deep); min-height: 1em; }
.pub-form__ok { padding: 14px 16px; border-radius: var(--r); background: var(--jade-tint); color: var(--jade); font-weight: 500; }
.pub-form .btn { justify-self: start; }
@media (max-width: 900px) { .pub-form-wrap { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { .pub-form__grid { grid-template-columns: minmax(0, 1fr); } }

/* contributor profile */
.pub-profile__grid { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: clamp(20px, 4vw, 56px); align-items: start; }
.pub-profile__photo { width: 200px; height: 200px; border-radius: 50%; object-fit: cover; box-shadow: var(--shadow-paper); background: var(--card); }
.pub-profile__photo--seal { object-fit: contain; padding: 36px; }
.pub-profile__name { font-size: clamp(2.4rem, 1.4rem + 4vw, 5rem); max-width: none; margin-top: 10px; overflow-wrap: anywhere; }
.pub-profile__bio { margin-top: 18px; }
.pub-profile__bio > p:first-child::first-letter { float: none; font: inherit; padding: 0; color: inherit; }
.pub-profile__links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.pub-profile__links a { font: 500 11px/1 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; padding: 9px 12px; border-radius: 999px; border: 1px solid var(--line-strong); }
.pub-profile__links a:hover { background: var(--ink); color: var(--paper); }
.pub-page .section-head .kmark { margin-bottom: 12px; }
@media (max-width: 700px) { .pub-profile__grid { grid-template-columns: minmax(0, 1fr); } .pub-profile__photo { width: 120px; height: 120px; } .pub-profile__photo--seal { padding: 22px; } }
