/*
 * ACADEMICS NETWORK — EDITABLE DESIGN STYLESHEET
 *
 * This is the main visual stylesheet for the public site and account screens.
 * It is deliberately kept as readable, unminified CSS for design work.
 *
 * Live SFTP path:
 * /home/dh_igvizr/academics.network/css/network.css
 *
 * Start with the colour variables immediately below. The rest of the file is
 * grouped by page/component, with responsive rules near the end.
 */

@import url('zodiak-switzer.css');

.network-app {
    --ink: #243d32;
    --muted: #687269;
    --paper: #f8f7f2;
    --line: #dddfd5;
    --orange: #bd4b2c;
    color: var(--ink);
    background: var(--paper);
    /*font-family: 'Instrument Sans', Arial, sans-serif;*/
	font-family: Zodiak-Regular;
    font-size: 1rem;
    line-height: 1.6;
    min-height: 100vh;
}
.network-app * {
    box-sizing: border-box;
}
.network-app a {
    text-decoration: none;
}
.network-app button,
.network-app a,
.network-app input,
.network-app textarea {
    transition:
        background 0.15s,
        border-color 0.15s,
        color 0.15s;
}
.network-app button {
    cursor: pointer;
}
.network-app button:disabled {
    opacity: 0.6;
    cursor: wait;
}
.network-app :focus-visible {
    outline: 3px solid #bd4b2c;
    outline-offset: 4px;
}
.network-app .container {
    width: min(1280px, calc(100% - 96px));
    margin-inline: auto;
}
.network-app .site-header {
    border-bottom: 1px solid var(--line);
    background: var(--paper);
}
.network-app .nav-inner {
    height: 96px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.network-app .account-submenu {
    position: absolute;
    z-index: 999;
	margin-top:3px;
    top: auto !important;
    right: auto !important;
    min-width: 215px;
    padding: .5rem;
    border: 1px solid var(--line, #d9d5cc);
    border-radius: 12px;
    background: var(--paper, #fff);
    box-shadow: 0 18px 38px rgb(28 25 24 / 14%);
}

.network-app .account-menu-item {
	margin-bottom:3px;
}

.network-app .account-menu-logout {
    margin-top: 5px;
}

.network-app .site-header {
    position: relative;
    z-index: 20;
}

.network-app .account-menu.is-active{
    background: var(--surface-alt, #f1eadf);
    border-color: var(--line, #d9d5cc);
	border-radius:999px;
}

.network-app .account-submenu {
    z-index: 30;
}

.network-app .editor-wrap .editor-heading {
    z-index: auto;
}

.network-app .brand {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--ink);
    font-weight: 700;
    letter-spacing: -1px;
    font-size: 23px;
    white-space: nowrap;
}
.network-app .brand > svg {
    color: var(--orange);
}
.network-app .brand-light {
    font-weight: 400;
}
.network-app .site-nav {
    display: flex;
    align-items: center;
    gap: 29px;
    font-size: 0.9375rem;
    font-weight: 500;
}
.network-app .site-nav > a:not(.button):hover,
.network-app .text-link:hover {
    color: var(--orange);
}
.network-app .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 17px;
    background: var(--ink);
    color: white;
    padding: 15px 23px;
    font-size: 0.9375rem;
    font-weight: 600;
    border: 1px solid var(--ink);
    border-radius: 5px;
    line-height: 1.4;
    white-space: nowrap;
}
.network-app .button:hover {
    background: #355445;
}
.network-app .button.small {
    padding: 11px 17px;
}
.network-app .button.outline {
    background: transparent;
    color: var(--ink);
    border-color: #aeb8ac;
}
.network-app .button.outline:hover {
    background: #e9eddf;
}
.network-app .button.light {
    background: #f1f1df;
    color: var(--ink);
    border-color: #f1f1df;
}
.network-app .button.full {
    width: 100%;
}
.network-app .text-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 0.9375rem;
    font-weight: 600;
}
.network-app .menu-toggle {
    display: none;
}
.network-app .hero {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 40px;
    align-items: center;
    padding-block: 68px 72px;
    min-height: 620px;
}
.network-app .eyebrow {
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: 1.9px;
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 23px;
}
.network-app .status-dot {
    width: 7px;
    height: 7px;
    background: #819559;
    border-radius: 50%;
    box-shadow: 0 0 0 4px #e5e9d9;
}
.network-app h1,
.network-app h2,
.network-app h3,
.network-app p {
    margin-top: 0;
}
.network-app h1 {
    font-size: clamp(42px, 4.5vw, 65px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -2.8px;
    margin-bottom: 25px;
}
.network-app h1 em,
.network-app h2 em {
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 400;
}
.network-app .hero-description {
    font-size: 16px;
    line-height: 1.8;
    color: var(--muted);
    max-width: 470px;
    margin-bottom: 29px;
}
.network-app .hero-actions {
    display: flex;
    align-items: center;
    gap: 25px;
    flex-wrap: wrap;
}
.network-app .hero-actions > .button {
    background: var(--orange);
    border-color: var(--orange);
}
.network-app .hero-actions > .button:hover {
    background: #a53e23;
}
.network-app .microcopy {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9375rem;
    color: var(--muted);
    margin: 19px 0 0;
}
.network-app .hero-art {
    height: 456px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.network-app .orbit {
    position: absolute;
    width: 435px;
    height: 340px;
    border: 1px solid #d5d9c9;
    border-radius: 50%;
    transform: rotate(-38deg);
}
.network-app .orbit-two {
    transform: rotate(41deg);
    width: 405px;
    height: 405px;
    background: radial-gradient(ellipse, #e7eadc80, transparent 65%);
}
.network-app .sample-profile {
    z-index: 1;
    width: 310px;
    background: #fffef9;
    border: 1px solid #d7dccf;
    border-radius: 9px;
    box-shadow: 0 18px 42px #304c3213;
    transform: rotate(-4deg);
    overflow: hidden;
}
.network-app .sample-cover {
    height: 80px;
    background: #dce3c5;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 22px 34px;
    color: #526245;
}
.network-app .sample-cover > span {
    font-size: 0.9375rem;
    letter-spacing: 1.6px;
    font-weight: 600;
}
.network-app .sample-body {
    padding: 0 23px 17px;
    position: relative;
}
.network-app .profile-avatar {
    height: 57px;
    width: 57px;
    border-radius: 50%;
    background: #dee7cc;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: Georgia, serif;
    font-size: 23px;
    color: #475940;
    object-fit: cover;
    flex-shrink: 0;
}
.network-app .profile-avatar.large {
    width: 82px;
    height: 82px;
    font-size: 35px;
}
.network-app .sample-body > .profile-avatar {
    margin-top: -27px;
    border: 5px solid #fffef9;
    width: 64px;
    height: 64px;
    font-size: 27px;
}
.network-app .pill {
    display: inline-flex;
    align-items: center;
    font-size: 0.9375rem;
    font-weight: 600;
    border: 1px solid #d9e0cf;
    background: #edf1e4;
    border-radius: 30px;
    padding: 5px 10px;
    white-space: nowrap;
    line-height: 1.5;
}
.network-app .sample-body > .pill {
    position: absolute;
    right: 23px;
    top: 14px;
    font-size: 0.9375rem;
    padding: 4px 8px;
}
.network-app .sample-body h2 {
    font-size: 23px;
    letter-spacing: -0.9px;
    line-height: 1.2;
    font-weight: 500;
    margin: 16px 0 13px;
}
.network-app .sample-body > p {
    font-size: 0.9375rem;
    line-height: 1.65;
    color: var(--muted);
    margin-bottom: 16px;
}
.network-app .tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.network-app .tags > span {
    font-size: 0.9375rem;
    padding: 5px 10px;
    border-radius: 3px;
    background: #f0f1e7;
    color: #516348;
    overflow-wrap: anywhere;
}
.network-app .sample-foot {
    border-top: 1px solid var(--line);
    margin-top: 21px;
    padding-top: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.9375rem;
}
.network-app .orbit-label {
    z-index: 2;
    position: absolute;
    background: #fefdf8;
    border: 1px solid #dee2d5;
    border-radius: 6px;
    font-size: 0.9375rem;
    padding: 11px 15px;
    box-shadow: 0 4px 12px #243d3206;
    display: flex;
    align-items: center;
    gap: 8px;
}
.network-app .orbit-label.top {
    top: 33px;
    right: 0;
    transform: rotate(5deg);
}
.network-app .orbit-label.top > span {
    background: #bd4b2c;
    width: 7px;
    height: 7px;
    border-radius: 50%;
}
.network-app .orbit-label.bottom {
    bottom: 42px;
    left: 0;
    transform: rotate(3deg);
}
.network-app .art-caption {
    position: absolute;
    bottom: -5px;
    right: 20px;
    font-family: Georgia, serif;
    font-size: 0.9375rem;
    font-style: italic;
    color: #7e876e;
}
.network-app .purpose-strip {
    background: #edeee5;
    border-block: 1px solid #e1e3d7;
}
.network-app .purpose-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    padding-block: 27px;
}
.network-app .purpose-inner > p {
    font-size: 0.9375rem;
    line-height: 1.7;
    margin: 0;
}
.network-app .purpose-inner > span {
    font-size: 0.9375rem;
    font-weight: 500;
    color: #57644f;
}
.network-app .membership-section {
    padding-block: 80px 65px;
    scroll-margin-top: 25px;
}
.network-app .section-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 35px;
    margin-bottom: 34px;
}
.network-app .section-heading h2,
.network-app .how-section h2 {
    font-size: 43px;
    line-height: 1.13;
    letter-spacing: -1.6px;
    font-weight: 500;
    margin: 0;
}
.network-app .section-heading > .eyebrow {
    margin: 0;
}
.network-app .section-heading > p {
    font-size: 0.9375rem;
    max-width: 335px;
    line-height: 1.8;
    color: var(--muted);
    margin: 0 0 3px;
}
.network-app .level-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.network-app .level-card {
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 23px 20px 19px;
    display: flex;
    flex-direction: column;
    background: #fafaf5;
}
.network-app .level-card.featured {
    background: #e8eddd;
    border-color: #8a9b71;
}
.network-app .level-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 28px;
}
.network-app .level-status {
    font-size: 0.9375rem;
    border: 1px solid #d5d9cc;
    border-radius: 30px;
    padding: 4px 8px;
}
.network-app .featured .level-status {
    background: #314c38;
    color: white;
    border-color: #314c38;
}
.network-app .level-tag {
    font-size: 0.9375rem;
    letter-spacing: 1.3px;
    font-weight: 700;
    margin-bottom: 8px;
    color: #687460;
}
.network-app .level-card h3 {
    font-size: 24px;
    letter-spacing: -0.7px;
    font-weight: 500;
    margin-bottom: 7px;
}
.network-app .level-description {
    font-size: 0.9375rem;
    color: var(--muted);
    line-height: 1.7;
    min-height: 42px;
    margin-bottom: 21px;
}
.network-app .level-price {
    min-height: 69px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 17px;
    display: flex;
    gap: 4px;
    align-items: baseline;
    flex-wrap: wrap;
}
.network-app .level-price strong {
    font-size: 34px;
    line-height: 1;
    letter-spacing: -1px;
    font-weight: 500;
}
.network-app .level-price > span {
    font-size: 0.9375rem;
    color: var(--muted);
}
.network-app .level-price .planned-price {
    font-size: 22px;
    letter-spacing: -0.5px;
    width: 100%;
}
.network-app .level-card ul {
    list-style: none;
    padding: 0;
    margin: 23px 0 28px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex-grow: 1;
}
.network-app .level-card li {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    font-size: 0.9375rem;
    line-height: 1.6;
}
.network-app .level-card li > svg {
    flex-shrink: 0;
    margin-top: 2px;
    color: #72845d;
}
.network-app .level-card .button {
    font-size: 0.9375rem;
    padding: 12px 8px;
    gap: 10px;
}
.network-app .coming-note {
    font-size: 0.9375rem;
    text-align: center;
    padding: 13px 0;
    margin: 0;
    border-top: 1px solid var(--line);
    color: var(--muted);
}
.network-app .membership-note {
    font-size: 0.9375rem;
    text-align: center;
    margin: 21px 0 0;
    color: var(--muted);
}
.network-app .how-section {
    padding-block: 30px 80px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 100px;
}
.network-app .how-section .text-link {
    margin-top: 26px;
}
.network-app .step {
    display: flex;
    gap: 24px;
    border-bottom: 1px solid var(--line);
    padding: 20px 0;
}
.network-app .step > span {
    font-family: Georgia, serif;
    color: #8a9679;
    font-size: 24px;
}
.network-app .step h3 {
    font-size: 17px;
    font-weight: 500;
    margin: 0 0 6px;
}
.network-app .step p {
    font-size: 0.9375rem;
    color: var(--muted);
    margin: 0;
}
.network-app .bottom-cta {
    background: var(--ink);
    border-radius: 7px;
    padding: 43px 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #f7f8ee;
    margin-bottom: 70px;
}
.network-app .bottom-cta .eyebrow {
    color: #bfc9ab;
    margin-bottom: 13px;
}
.network-app .bottom-cta h2 {
    font-size: 30px;
    letter-spacing: -1px;
    font-weight: 500;
    margin: 0;
}
.network-app .site-footer {
    border-top: 1px solid var(--line);
    padding: 31px 0;
}
.network-app .footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.network-app .footer-inner .brand {
    font-size: 17px;
}
.network-app .footer-inner .brand > svg {
    width: 23px;
}
.network-app .footer-inner p,
.network-app .footer-inner > span {
    font-size: 0.9375rem;
    color: var(--muted);
    margin: 0;
}
.network-app .skip-link {
    position: absolute;
    top: -100px;
    left: 20px;
    z-index: 20;
    background: white;
    padding: 15px;
}
.network-app .skip-link:focus {
    top: 10px;
}
.network-app .auth-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 100px;
    max-width: 1070px;
    padding-block: 73px 90px;
    align-items: start;
}
.network-app .auth-story {
    padding-top: 35px;
}
.network-app .auth-story h1 {
    font-size: 65px;
}
.network-app .auth-story > p:not(.eyebrow) {
    font-size: 18px;
    color: var(--muted);
    line-height: 1.8;
}
.network-app .auth-story ul {
    list-style: none;
    padding: 0;
    margin: 35px 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
    font-size: 0.9375rem;
}
.network-app .auth-story li {
    display: flex;
    gap: 12px;
    align-items: center;
}
.network-app .auth-note {
    border-top: 1px solid var(--line);
    padding-top: 23px;
    font-size: 0.9375rem;
    color: var(--muted);
    line-height: 1.8;
}
.network-app .form-card {
    border: 1px solid var(--line);
    background: #fffefa;
    border-radius: 8px;
    padding: 33px;
}
.network-app .form-card h2 {
    font-size: 28px;
    line-height: 1.2;
    font-weight: 500;
    letter-spacing: -1px;
    margin: 16px 0 8px;
}
.network-app .form-intro {
    font-size: 0.9375rem;
    color: var(--muted);
    margin-bottom: 28px;
}
.network-app .field {
    margin-bottom: 21px;
}
.network-app label {
    display: block;
    font-size: 0.9375rem;
    font-weight: 600;
    margin-bottom: 8px;
}
.network-app label > span:not(.profile-avatar) {
    font-size: 0.9375rem;
    font-weight: 400;
    color: var(--muted);
    margin-left: 5px;
}
.network-app input:not([type='checkbox']):not([type='file']),
.network-app textarea {
    background: #fffefa;
    border: 1px solid #cfd5c8;
    border-radius: 4px;
    width: 100%;
    padding: 11px 13px;
    font-family: inherit;
    font-size: 0.9375rem;
    line-height: 1.7;
    color: var(--ink);
}
.network-app .banner-options input[type='radio']{width:auto;}
.network-app input::placeholder,
.network-app textarea::placeholder {
    color: #899083;
}
.network-app textarea {
    resize: vertical;
}
.network-app input[aria-invalid='true'],
.network-app textarea[aria-invalid='true'] {
    border-color: #b44432;
}
.network-app .field-help {
    font-size: 0.9375rem;
    color: var(--muted);
    margin: 6px 0 0;
    line-height: 1.7;
}
.network-app .field-error {
    font-size: 0.9375rem;
    color: #af3826;
    margin: 6px 0 0;
}
.network-app .privacy-note {
    font-size: 0.9375rem;
    color: var(--muted);
    line-height: 1.7;
    margin: 5px 0 20px;
}
.network-app .privacy-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.7;
    margin: 5px 0 20px;
}
.network-app .privacy-check input {
    margin-top: 3px;
}
.network-app .privacy-check span {
    font-size: 0.9375rem;
    font-weight: 400;
    color: var(--muted);
    margin: 0;
}
.network-app .privacy-check a,
.network-app .footer-inner > span a {
    text-decoration: underline;
    text-underline-offset: 3px;
    color: inherit;
}
.network-app .legal-wrap {
    max-width: 800px;
    padding-block: 65px 90px;
}
.network-app .legal-wrap > p,
.network-app .legal-wrap li {
    color: var(--muted);
}
.network-app .legal-wrap h2 {
    font-size: 24px;
    font-weight: 500;
    margin: 38px 0 12px;
}
.network-app .legal-wrap ul {
    padding-left: 20px;
}
.network-app .legal-callout {
    background: #edf0e2;
    border: 1px solid #c7d0b8;
    padding: 20px;
    border-radius: 6px;
    margin: 25px 0;
}
.network-app .form-footer {
    font-size: 0.9375rem;
    text-align: center;
    color: var(--muted);
    margin: 23px 0 0;
}
.network-app .form-footer a,
.network-app .form-between a {
    text-decoration: underline;
    text-underline-offset: 3px;
    color: var(--ink);
}
.network-app .form-between {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: 0.9375rem;
    margin-bottom: 23px;
}
.network-app .check-label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 400;
}
.network-app input[type='checkbox'] {
    appearance: auto;
    accent-color: #314c38;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}
.network-app .notice {
    padding: 16px 19px;
    background: #eaf0de;
    border: 1px solid #cbd8b6;
    border-radius: 5px;
    font-size: 0.9375rem;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}
.network-app .notice.error {
    background: #fff0e9;
    border-color: #e5b4a5;
    color: #9b3925;
}
.network-app .notice a {
    display: flex;
    align-items: center;
    gap: 5px;
    text-decoration: underline;
    margin-left: auto;
}
.network-app .editor-wrap {
    padding-block: 48px 75px;
    /*max-width: 1140px;*/
}
.network-app .editor-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    margin-bottom: 35px;
}
.network-app .editor-heading .eyebrow {
    margin-bottom: 12px;
}
.network-app .editor-heading h1 {
    font-size: 42px;
    letter-spacing: -1.6px;
    margin-bottom: 12px;
}
.network-app .editor-heading p:not(.eyebrow) {
    font-size: 0.9375rem;
    color: var(--muted);
    margin-bottom: 0;
}
.network-app .editor-grid {
    display: grid;
    grid-template-columns: 245px 1fr;
    gap: 32px;
    align-items: start;
}
.network-app .editor-sidebar {
    position: sticky;
    top: 25px;
}
.network-app .sidebar-card {
    padding: 27px 23px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #edeee4;
}
.network-app .sidebar-card h2 {
    font-size: 19px;
    font-weight: 500;
    margin: 16px 0 8px;
    overflow-wrap: anywhere;
}
.network-app .sidebar-card p,
.network-app .sidebar-note p {
    font-size: 0.9375rem;
    line-height: 1.8;
    color: var(--muted);
    margin: 12px 0 0;
}
.network-app .completion {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: space-between;
    font-size: 0.9375rem;
    margin-top: 27px;
}
.network-app .completion > div {
    width: 100%;
    height: 4px;
    background: #d9dfca;
    border-radius: 5px;
    margin-top: 3px;
}
.network-app .completion > div > span {
    display: block;
    height: 4px;
    background: #748755;
    border-radius: 5px;
}
.network-app .sidebar-note {
    padding: 26px 12px;
}
.network-app .sidebar-note h3 {
    font-size: 0.9375rem;
    font-weight: 500;
    margin: 12px 0 5px;
}
.network-app .editor-sidebar > .text-link {
    font-size: 0.9375rem;
    margin-left: 12px;
}
.network-app .editor-section {
    background: #fffefa;
    border: 1px solid var(--line);
    padding: 30px;
    border-radius: 7px;
    margin-bottom: 22px;
}
.network-app .section-title {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    margin-bottom: 25px;
}
.network-app .section-title > span {
    font-family: Georgia, serif;
    font-size: 18px;
    color: #839075;
    border-bottom: 1px solid #c3cbb7;
}
.network-app .section-title h2 {
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -0.6px;
    font-weight: 500;
    margin: 0 0 8px;
}
.network-app .section-title p {
    font-size: 0.9375rem;
    color: var(--muted);
    margin: 0;
}
.network-app .photo-field {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-bottom: 25px;
    margin-bottom: 23px;
    border-bottom: 1px solid var(--line);
}
.network-app .photo-field input {
    font-size: 0.9375rem;
    max-width: 100%;
}
.network-app input[type='file']::file-selector-button {
    border: 1px solid #ced6c3;
    background: #f0f2e8;
    padding: 6px 10px;
    margin-right: 8px;
    border-radius: 4px;
    cursor: pointer;
    font: inherit;
}
.network-app .field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
.network-app .publish-panel {
    background: #edf0e2;
    border: 1px solid #c7d0b8;
    border-radius: 7px;
    padding: 28px;
}
.network-app .publish-header {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: flex-start;
    margin-bottom: 22px;
}
.network-app .publish-header h2 {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 6px;
}
.network-app .publish-header p {
    font-size: 0.9375rem;
    color: var(--muted);
    margin: 0;
}
.network-app .publish-switch {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0 0 24px;
}
.network-app .publish-switch input {
    margin-top: 3px;
}
.network-app .publish-switch > span {
    margin: 0;
    color: var(--ink);
}
.network-app .publish-switch strong {
    display: block;
    font-size: 0.9375rem;
    margin-bottom: 5px;
}
.network-app .publish-switch small {
    font-size: 0.9375rem;
    line-height: 1.7;
    display: block;
}
.network-app .save-actions {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}
.network-app .save-actions .field-help {
    width: 100%;
}
.network-app .public-wrap {
    padding-block: 38px 75px;
    max-width: 1070px;
}
.network-app .back-link {
    margin-bottom: 25px;
}
.network-app .public-profile {
    border: 1px solid var(--line);
    border-radius: 9px;
    overflow: hidden;
    background: #fffefa;
}
.network-app .public-cover {
    height: 180px;
    background: repeating-radial-gradient(ellipse at 90% 160%, transparent 0 28px, #bdcba45c 29px 30px, transparent 31px 54px), #dce4c9;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 30px 38px;
}
.network-app .public-cover > span:first-child {
    font-size: 0.9375rem;
    letter-spacing: 2px;
}
.network-app .cover-star {
    font-size: 68px;
    line-height: 1;
    color: #889b70;
}
.network-app .public-intro {
    padding: 0 40px 32px;
}
.network-app .public-intro > .profile-avatar {
    width: 105px;
    height: 105px;
    border: 6px solid #fffefa;
    margin-top: -48px;
    position: relative;
    font-size: 40px;
}
.network-app .public-title {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-top: 16px;
}
.network-app .public-title h1 {
    font-size: 37px;
    margin: 14px 0 10px;
    letter-spacing: -1.3px;
    overflow-wrap: anywhere;
}
.network-app .public-title p {
    font-size: 16px;
    max-width: 640px;
    color: var(--muted);
    margin-bottom: 18px;
    overflow-wrap: anywhere;
}
.network-app .profile-meta {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    font-size: 0.9375rem;
    color: var(--muted);
}
.network-app .profile-meta > span {
    display: flex;
    align-items: center;
    gap: 7px;
}
.network-app .public-body {
    border-top: 1px solid var(--line);
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 55px;
    padding: 38px 40px;
}
.network-app .public-body section {
    margin-bottom: 35px;
}
.network-app .public-body .eyebrow {
    font-size: 0.9375rem;
    margin-bottom: 10px;
}
.network-app .public-body h2 {
    font-size: 24px;
    font-weight: 500;
    letter-spacing: -0.5px;
    margin-bottom: 15px;
}
.network-app .prose-text {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font-size: 0.9375rem;
    line-height: 1.9;
    color: #596657;
}
.network-app .public-body h3 {
    font-size: 0.9375rem;
    font-weight: 600;
    margin-bottom: 15px;
}
.network-app .highlight-list {
    padding-left: 20px;
    font-size: 0.9375rem;
    color: #596657;
    list-style: disc;
}
.network-app .highlight-list li {
    padding: 7px 0;
    overflow-wrap: anywhere;
}
.network-app .external-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.9375rem;
    padding: 10px 0;
    border-bottom: 1px solid var(--line);
}
.network-app .public-note {
    font-family: Georgia, serif;
    font-style: italic;
    font-size: 16px;
    color: #839075;
    border-top: 1px solid var(--line);
    padding-top: 24px;
}
.network-app .community-wrap {
    padding-block: 70px 100px;
    min-height: 70vh;
}
.network-app .community-wrap h1 {
    font-size: 47px;
}
.network-app .people-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.network-app .person-card {
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fffefa;
    padding: 25px;
}
.network-app .person-card:hover {
    border-color: #7c8f68;
    background: #f0f3e8;
}
.network-app .person-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}
.network-app .person-card h2 {
    font-size: 21px;
    font-weight: 500;
    letter-spacing: -0.5px;
    margin-bottom: 10px;
    overflow-wrap: anywhere;
}
.network-app .person-card p {
    font-size: 0.9375rem;
    color: var(--muted);
    margin-bottom: 12px;
    overflow-wrap: anywhere;
}
.network-app .person-card small {
    font-size: 0.9375rem;
    color: var(--muted);
}
.network-app .person-card .tags {
    margin-top: 20px;
}
.network-app .pagination {
    display: flex;
    justify-content: flex-end;
    gap: 15px;
    margin-top: 25px;
}
.network-app .empty-state {
    border: 1px dashed #c3ccb6;
    border-radius: 8px;
    text-align: center;
    padding: 65px 30px;
    margin-top: 45px;
    background: #f0f2e7;
    display: flex;
    align-items: center;
    flex-direction: column;
}
.network-app .empty-state h2 {
    font-size: 27px;
    font-weight: 500;
    letter-spacing: -0.7px;
    margin: 20px 0 12px;
}
.network-app .empty-state p {
    font-size: 0.9375rem;
    color: var(--muted);
    max-width: 400px;
    margin-bottom: 23px;
}
@media (min-width: 1450px) {
    .network-app .hero-art {
        margin-left: 35px;
    }
    .network-app .hero {
        min-height: 660px;
    }
}
@media (max-width: 1100px) {
    .network-app .container {
        width: calc(100% - 64px);
    }
    .network-app .hero {
        gap: 15px;
    }
    .network-app h1 {
        font-size: 51px;
    }
    .network-app .hero-art {
        transform: none; /* Keep preview text at its declared readable size. */
    }
    .network-app .hero-actions {
        gap: 18px;
    }
    .network-app .level-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .network-app .level-description {
        min-height: 0;
    }
    .network-app .level-card {
        padding: 25px;
    }
    .network-app .level-price {
        min-height: 76px;
    }
    .network-app .purpose-inner {
        gap: 20px;
        flex-wrap: wrap;
    }
    .network-app .auth-grid {
        gap: 55px;
    }
    .network-app .auth-story h1 {
        font-size: 53px;
    }
    .network-app .site-nav {
        gap: 17px;
    }
    .network-app .brand {
        font-size: 20px;
    }
    .network-app .how-section {
        gap: 50px;
    }
    .network-app .footer-inner p {
        display: none;
    }
}
@media (max-width: 760px) {
    .network-app .container {
        width: calc(100% - 40px);
    }
    .network-app .nav-inner {
        height: 78px;
    }
    .network-app .menu-toggle {
        display: block;
        padding: 8px;
    }
    .network-app .site-nav {
        display: none;
        position: absolute;
        top: 78px;
        left: 0;
        right: 0;
        padding: 25px;
        background: var(--paper);
        border-bottom: 1px solid var(--line);
        z-index: 10;
    }
    .network-app .site-nav.open {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
    }
    .network-app .hero {
        grid-template-columns: 1fr;
        padding-top: 46px;
        padding-bottom: 40px;
        gap: 25px;
    }
    .network-app h1 {
        font-size: 46px;
        letter-spacing: -2px;
    }
    .network-app .hero-description {
        font-size: 15px;
    }
    .network-app .hero-art {
        max-width: 420px;
        width: 100%;
        margin: auto;
        height: 400px;
        transform: none;
    }
    .network-app .orbit {
        width: 95%;
        height: 290px;
    }
    .network-app .orbit-two {
        height: 360px;
        width: 90%;
    }
    .network-app .sample-profile {
        width: 270px;
    }
    .network-app .sample-body h2 {
        font-size: 22px;
    }
    .network-app .orbit-label.top {
        top: 5px;
        right: 0;
    }
    .network-app .orbit-label.bottom {
        bottom: 10px;
        left: 0;
    }
    .network-app .art-caption {
        display: none;
    }
    .network-app .purpose-inner {
        padding-block: 23px;
        gap: 18px 30px;
        justify-content: flex-start;
    }
    .network-app .purpose-inner > p {
        width: 100%;
    }
    .network-app .purpose-inner > span {
        font-size: 0.9375rem;
    }
    .network-app .membership-section {
        padding-block: 50px;
    }
    .network-app .section-heading {
        display: block;
    }
    .network-app .section-heading h2,
    .network-app .how-section h2 {
        font-size: 36px;
    }
    .network-app .section-heading > p {
        margin-top: 22px;
    }
    .network-app .level-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .network-app .level-top {
        margin-bottom: 23px;
    }
    .network-app .level-card h3 {
        font-size: 28px;
    }
    .network-app .level-description,
    .network-app .level-card li {
        font-size: 0.9375rem;
    }
    .network-app .level-price {
        min-height: 65px;
    }
    .network-app .level-card ul {
        gap: 13px;
    }
    .network-app .level-card .button {
        font-size: 0.9375rem;
    }
    .network-app .how-section {
        grid-template-columns: 1fr;
        gap: 25px;
        padding-bottom: 50px;
    }
    .network-app .bottom-cta {
        padding: 29px;
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 45px;
    }
    .network-app .bottom-cta h2 {
        font-size: 28px;
    }
    .network-app .footer-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 13px;
    }
    .network-app .auth-grid {
        grid-template-columns: 1fr;
        gap: 30px;
        padding-block: 35px 55px;
    }
    .network-app .auth-story {
        padding-top: 0;
    }
    .network-app .auth-story h1 {
        font-size: 45px;
    }
    .network-app .auth-story ul,
    .network-app .auth-note {
        display: none;
    }
    .network-app .auth-story > p:not(.eyebrow) {
        font-size: 15px;
        margin: 0;
    }
    .network-app .form-card {
        padding: 25px;
    }
    .network-app .editor-grid {
        grid-template-columns: 1fr;
    }
    .network-app .editor-sidebar {
        position: static;
    }
    .network-app .sidebar-card {
        display: none;
    }
    .network-app .sidebar-note {
        display: none;
    }
    .network-app .editor-heading {
        display: block;
    }
    .network-app .editor-heading > .button {
        margin-top: 20px;
    }
    .network-app .editor-section {
        padding: 22px;
    }
    .network-app .field-row {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .network-app .photo-field {
        gap: 13px;
    }
    .network-app .photo-field > div {
        min-width: 0;
    }
    .network-app .publish-panel {
        padding: 22px;
    }
    .network-app .public-cover {
        height: 130px;
        padding: 22px;
    }
    .network-app .public-cover > span:first-child {
        font-size: 0.9375rem;
        letter-spacing: 1px;
    }
    .network-app .public-intro {
        padding-inline: 23px;
    }
    .network-app .public-title {
        flex-direction: column;
    }
    .network-app .public-title h1 {
        font-size: 32px;
    }
    .network-app .public-body {
        grid-template-columns: 1fr;
        padding: 28px 23px;
        gap: 5px;
    }
    .network-app .people-grid {
        grid-template-columns: 1fr;
    }
    .network-app .community-wrap {
        padding-block: 42px 65px;
    }
    .network-app .community-wrap h1 {
        font-size: 39px;
    }
    .network-app .microcopy {
        font-size: 0.9375rem;
    }
    .network-app .eyebrow {
        font-size: 0.9375rem;
        letter-spacing: 1.3px;
    }
    .network-app .hero-actions {
        gap: 21px;
    }
    .network-app .publish-header {
        flex-wrap: wrap;
    }
}
@media (max-width: 760px) {
    .network-app .hero-art {
        overflow: clip;
    }
}
@media (prefers-reduced-motion: reduce) {
    .network-app * {
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

/* Admin — user management */
.network-app .admin-wrap {
    padding-block: 72px 110px;
}
.network-app .admin-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin: 40px 0;
    border: 1px solid var(--line);
    background: #fff;
}
.network-app .admin-stats > div {
    display: grid;
    gap: 4px;
    padding: 24px;
    border-right: 1px solid var(--line);
}
.network-app .admin-stats > div:last-child {
    border-right: 0;
}
.network-app .admin-stats strong {
    font-family: Georgia, serif;
    font-size: 34px;
    font-weight: 400;
}
.network-app .admin-stats span,
.network-app .admin-user-identity span,
.network-app .admin-user-row label > span {
    color: var(--muted);
    font-size: 0.9375rem;
}
.network-app .admin-search {
    max-width: 620px;
    margin-bottom: 30px;
}
.network-app .admin-search > label {
    display: block;
    margin-bottom: 7px;
    font-weight: 600;
}
.network-app .admin-search > div {
    display: flex;
    gap: 10px;
}
.network-app .admin-search input,
.network-app .admin-user-row select {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: #fff;
    padding: 11px 13px;
    color: var(--ink);
}
.network-app .admin-users {
    display: grid;
    gap: 12px;
}
.network-app .admin-user-row {
    display: grid;
    grid-template-columns: minmax(220px, 1.5fr) minmax(160px, 0.8fr) minmax(150px, 0.8fr) 130px minmax(130px, 0.7fr);
    align-items: center;
    gap: 20px;
    padding: 20px;
    border: 1px solid var(--line);
    background: #fff;
}
.network-app .admin-user-identity {
    display: grid;
    gap: 2px;
}
.network-app .admin-user-identity a,
.network-app .admin-user-actions a {
    color: var(--orange);
    font-size: 0.9375rem;
}
.network-app .admin-badges,
.network-app .admin-user-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.network-app .pill.muted {
    color: var(--muted);
    border-color: var(--line);
}
.network-app .admin-user-row label:not(.admin-publish) {
    display: grid;
    gap: 5px;
}
.network-app .admin-publish {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9375rem;
}
.network-app .admin-user-actions {
    justify-content: flex-end;
}
.network-app .admin-moderation-actions {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--line);
}
.network-app .text-button {
    border: 0;
    background: transparent;
    padding: 0;
    color: var(--ink);
    font-size: 0.9375rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.network-app .text-button.warning {
    color: #9a541d;
}
.network-app .text-button.danger,
.network-app .pill.status-blocked {
    color: #a12f2f;
}
.network-app .pill.status-review {
    color: #8a5a13;
}
.network-app .admin-blocklist {
    display: grid;
    gap: 24px;
    margin-top: 72px;
    padding-top: 48px;
    border-top: 1px solid var(--line);
}
.network-app .admin-blocklist h2 {
    margin: 6px 0;
    font-family: Georgia, serif;
    font-size: 32px;
    font-weight: 400;
}
.network-app .admin-blocklist > form {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 10px;
}
.network-app .admin-blocklist input {
    border: 1px solid var(--line);
    border-radius: 4px;
    background: #fff;
    padding: 11px 13px;
}
.network-app .blocked-email-list {
    display: grid;
    gap: 8px;
}
.network-app .blocked-email-list > div {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 16px;
    border: 1px solid var(--line);
    background: #fff;
}
.network-app .blocked-email-list span {
    display: grid;
}
.network-app .blocked-email-list small {
    color: var(--muted);
}
.network-app .admin-user-actions .field-error {
    width: 100%;
}
@media (max-width: 1000px) {
    .network-app .admin-stats {
        grid-template-columns: repeat(2, 1fr);
    }
    .network-app .admin-stats > div:nth-child(2) {
        border-right: 0;
    }
    .network-app .admin-user-row {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 620px) {
    .network-app .admin-stats,
    .network-app .admin-user-row {
        grid-template-columns: 1fr;
    }
    .network-app .admin-blocklist > form {
        grid-template-columns: 1fr;
    }
    .network-app .admin-stats > div {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }
    .network-app .admin-user-actions {
        justify-content: flex-start;
    }
}

/* Profile moderation queue */
.network-app .moderation-wrap {
    padding-block: 72px 110px;
}
.network-app .moderation-settings,
.network-app .moderation-card {
    border: 1px solid var(--line);
    background: #fff;
}
.network-app .moderation-settings {
    display: flex;
    align-items: end;
    gap: 20px;
    margin: 40px 0;
    padding: 24px;
}
.network-app .moderation-settings > div:first-child {
    margin-right: auto;
}
.network-app .moderation-settings h2 {
    margin: 4px 0;
    font-family: Georgia, serif;
    font-size: 28px;
    font-weight: 400;
}
.network-app .moderation-settings label {
    display: grid;
    gap: 5px;
    font-size: 0.9375rem;
}
.network-app .moderation-settings label:has(input) {
    display: flex;
    align-items: center;
    gap: 7px;
}
.network-app .moderation-settings select,
.network-app .moderation-decision select,
.network-app .moderation-decision textarea {
    border: 1px solid var(--line);
    border-radius: 4px;
    background: #fff;
    padding: 10px 12px;
}
.network-app .provider-status {
    display: grid;
    color: var(--muted);
    font-size: 0.9375rem;
}
.network-app .moderation-queue {
    display: grid;
    gap: 24px;
}
.network-app .moderation-card {
    padding: 26px;
}
.network-app .moderation-card > header {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--line);
}
.network-app .moderation-card header > div {
    display: grid;
    justify-items: start;
    gap: 4px;
}
.network-app .moderation-card h2 {
    margin: 4px 0 0;
    font-family: Georgia, serif;
    font-size: 30px;
    font-weight: 400;
}
.network-app .moderation-content {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 26px;
    padding-block: 24px;
}
.network-app .moderation-content dl {
    display: grid;
    gap: 12px;
    margin: 0;
}
.network-app .moderation-content dl > div {
    padding: 10px 12px;
    background: var(--paper);
}
.network-app .moderation-content dl > div.changed {
    border-left: 3px solid var(--orange);
}
.network-app .moderation-content dt {
    color: var(--muted);
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.network-app .moderation-content dd {
    margin: 3px 0;
    white-space: pre-wrap;
}
.network-app .moderation-content small {
    color: var(--muted);
}
.network-app .moderation-image {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    object-fit: cover;
}
.network-app .automated-results {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 15px;
    background: #f1f0e9;
    font-size: 0.9375rem;
}
.network-app .moderation-decision {
    display: grid;
    grid-template-columns: 180px 1fr auto;
    align-items: start;
    gap: 12px;
    padding-top: 20px;
}
@media (max-width: 900px) {
    .network-app .moderation-settings {
        display: grid;
    }
    .network-app .moderation-content,
    .network-app .moderation-decision {
        grid-template-columns: 1fr;
    }
}

/* Interests and expertise directory */
.network-app .research-wrap { padding-block: 70px 110px; }
.network-app .research-hero { max-width: 850px; margin-bottom: 58px; }
.network-app .research-hero h1, .network-app .tag-page-heading h1 { margin: 8px 0 12px; font-family: Georgia, serif; font-size: clamp(48px, 7vw, 88px); font-weight: 400; line-height: .95; }
.network-app .research-hero > p:last-of-type { color: var(--muted); font-size: 18px; }
.network-app .research-search { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; margin-top: 30px; padding: 8px 8px 8px 18px; border: 1px solid var(--line); background: #fff; }
.network-app .research-search input { min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; font-size: 17px; }
.network-app .research-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; }
.network-app .research-columns h2, .network-app .research-results h2 { margin: 5px 0 22px; font-family: Georgia, serif; font-size: 36px; font-weight: 400; }
.network-app .research-results { margin-bottom: 60px; }
.network-app .tag-directory { display: grid; border-top: 1px solid var(--line); }
.network-app .tag-directory > a { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 14px; padding: 14px 4px; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; }
.network-app .tag-directory > a:hover span { text-decoration: underline; }
.network-app .tag-directory small { color: var(--muted); }
.network-app .tags a { color: inherit; text-decoration: none; }
.network-app .tags a:hover { text-decoration: underline; }
.network-app .tag-page-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin: 36px 0 45px; }
.network-app .display-switch { display: flex; border: 1px solid var(--line); background: #fff; }
.network-app .display-switch a { display: flex; align-items: center; gap: 7px; padding: 10px 13px; color: inherit; text-decoration: none; }
.network-app .display-switch a.active { background: var(--ink); color: #fff; }
.network-app .people-list { display: grid; border-top: 1px solid var(--line); }
.network-app .person-list-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; padding: 18px 4px; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; }
.network-app .person-list-row .profile-avatar { width: 58px; height: 58px; }
.network-app .person-list-row h2 { margin: 0 0 3px; font-family: Georgia, serif; font-size: 24px; font-weight: 400; }
.network-app .person-list-row p { margin: 0 0 4px; }
.network-app .person-list-row small { color: var(--muted); }
@media (max-width: 760px) { .network-app .research-columns { grid-template-columns: 1fr; } .network-app .tag-page-heading { align-items: start; flex-direction: column; } .network-app .research-search { grid-template-columns: auto 1fr; } .network-app .research-search .button { grid-column: 1 / -1; } }
/* ==========================================================================
   ACADEMICS.NETWORK — EDITORIAL DESIGN SYSTEM
   --------------------------------------------------------------------------
   Design refresh layered over the existing component structure.

   Typography
   - Zodiak: H1/H2 and selected editorial/display moments
   - Switzer: body copy, navigation, forms, H3+, interface controls

   Colour
   - Warm editorial paper rather than white
   - Soft charcoal rather than true black
   - Muted burgundy as the principal action/accent
   - Sage reserved for trust, verification and positive states

   Existing class names are intentionally preserved.
   ========================================================================== */

.network-app {
    /* Typography */
    --font-display: 'Zodiak', 'Zodiak-Regular', Georgia, 'Times New Roman', serif;
    --font-ui: 'Switzer', 'Switzer-Regular', Inter, Arial, sans-serif;
    --font-ui-medium: 'Switzer', 'Switzer-Medium', Inter, Arial, sans-serif;
    --font-ui-semibold: 'Switzer', 'Switzer-Semibold', Inter, Arial, sans-serif;

    /* Core neutrals */
    --ink: #1c1918;
    --ink-soft: #3e3836;
    --muted: #665f5c;

    /* Editorial surfaces */
    --paper: #f5e9e4;
    --paper-soft: #faf4f1;
    --surface: #fffdfb;
    --surface-alt: #eee0db;

    /* Structure */
    --line: #d8cac5;
    --line-strong: #bbaaa4;

    /* Primary accent */
    --accent: #7b3f4a;
    --accent-hover: #63323b;
    --accent-soft: #ead2d8;

    /* Trust / verification */
    --sage: #4f6559;
    --sage-hover: #3f5449;
    --sage-soft: #dce5df;

    /* Semantic status */
    --danger: #9d382f;
    --danger-soft: #f5ded9;
    --warning: #85611e;
    --warning-soft: #f0e4c5;
    --success: #486052;

    color: var(--ink);
    background: var(--paper);
    font-family: var(--font-ui);
    font-size: 1rem;
    line-height: 1.65;
    min-height: 100vh;
}

/* Dark theme: warm graphite rather than black */
[data-theme='dark'] .network-app,
.network-app[data-theme='dark'] {
    --ink: #f3e9e5;
    --ink-soft: #ded1cc;
    --muted: #c7bab5;

    --paper: #191716;
    --paper-soft: #201d1c;
    --surface: #242120;
    --surface-alt: #302b29;

    --line: #4b4441;
    --line-strong: #716661;

    --accent: #d8a9b4;
    --accent-hover: #e7bec7;
    --accent-soft: #49343a;

    --sage: #a9b8ae;
    --sage-hover: #c0cec5;
    --sage-soft: #314038;

    --danger: #eba69e;
    --danger-soft: #4a2b28;
    --warning: #e2c184;
    --warning-soft: #443a25;
    --success: #b3c9ba;
}

/* --------------------------------------------------------------------------
   Global typography
   -------------------------------------------------------------------------- */

.network-app h1,
.network-app h2 {
    font-family: var(--font-display);
    font-weight: 400;
    color: var(--ink);
}

.network-app h1 {
    font-size: clamp(2.9rem, 6vw, 4.8rem);
    line-height: 0.98;
    letter-spacing: -0.035em;
}

.network-app h2 {
    line-height: 1.08;
    letter-spacing: -0.025em;
}

.network-app h3,
.network-app h4,
.network-app h5,
.network-app h6 {
    font-family: var(--font-ui);
    font-weight: 600;
    color: var(--ink);
    letter-spacing: -0.012em;
}

.network-app p,
.network-app li,
.network-app input,
.network-app textarea,
.network-app select,
.network-app button,
.network-app label {
    font-family: var(--font-ui);
}

.network-app h1 em,
.network-app h2 em,
.network-app .art-caption,
.network-app .public-note,
.network-app .step > span,
.network-app .section-title > span,
.network-app .admin-stats strong,
.network-app .admin-blocklist h2,
.network-app .moderation-settings h2,
.network-app .moderation-card h2,
.network-app .research-hero h1,
.network-app .tag-page-heading h1,
.network-app .research-columns h2,
.network-app .research-results h2 {
    font-family: var(--font-display);
    font-weight: 400;
}

/* H3 and below deliberately return to Switzer */
.network-app .level-card h3,
.network-app .step h3,
.network-app .sidebar-note h3,
.network-app .public-body h3 {
    font-family: var(--font-ui);
}

/* --------------------------------------------------------------------------
   Links, focus and motion
   -------------------------------------------------------------------------- */

.network-app a {
    color: inherit;
}

.network-app :focus-visible {
    outline: 3px solid var(--accent);
    outline-offset: 3px;
}

.network-app button,
.network-app a,
.network-app input,
.network-app textarea,
.network-app select {
    transition:
        background-color 0.18s ease,
        border-color 0.18s ease,
        color 0.18s ease,
        box-shadow 0.18s ease,
        transform 0.18s ease;
}

.network-app .site-nav > a:not(.button):hover,
.network-app .text-link:hover,
.network-app .admin-user-identity a:hover,
.network-app .admin-user-actions a:hover {
    color: var(--accent);
}

/* --------------------------------------------------------------------------
   Layout / container
   -------------------------------------------------------------------------- */

.network-app .container {
    width: min(100% - 2rem, 1280px);
    margin-inline: auto;
}

@media (min-width: 48rem) {
    .network-app .container {
        width: min(100% - 4rem, 1280px);
    }
}

@media (min-width: 80rem) {
    .network-app .container {
        width: min(100% - 6rem, 1280px);
    }
}

/* --------------------------------------------------------------------------
   Header / brand / navigation
   -------------------------------------------------------------------------- */

.network-app .site-header {
    border-bottom: 1px solid var(--line);
    background: color-mix(in srgb, var(--paper) 92%, transparent);
    backdrop-filter: blur(14px);
}

.network-app .brand {
    color: var(--ink);
    font-family: var(--font-display);
    font-weight: 400;
    letter-spacing: -0.035em;
}

.network-app .brand-light {
    font-weight: 400;
}

.network-app .brand > svg {
    display:none;
    color: var(--accent);
}

.network-app .site-nav {
    color: var(--ink-soft);
    font-family: var(--font-ui);
    font-weight: 500;
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */

.network-app .button {
    min-height: 44px;
    padding: 0.8rem 1.2rem;
    gap: 0.75rem;

    background: var(--ink);
    color: var(--paper);
    border: 1px solid var(--ink);
    border-radius: 999px;

    font-family: var(--font-ui);
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.2;
}

.network-app .button:hover {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
    transform: translateY(-1px);
}

.network-app .button:active {
    transform: translateY(0);
}

.network-app .button.small {
    min-height: 40px;
    padding: 0.65rem 1rem;
}

.network-app .button.outline {
    background: transparent;
    color: var(--ink);
    border-color: var(--line-strong);
}

.network-app .button.outline:hover {
    background: var(--surface-alt);
    border-color: var(--ink);
    color: var(--ink);
}

.network-app .button.light {
    background: var(--surface-alt);
    color: var(--ink);
    border-color: var(--surface-alt);
}

.network-app .hero-actions > .button {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}

.network-app .hero-actions > .button:hover {
    background: var(--accent-hover);
    border-color: var(--accent-hover);
}

.network-app .text-link {
    color: var(--ink);
}

/* --------------------------------------------------------------------------
   Eyebrows, labels, pills and status
   -------------------------------------------------------------------------- */

.network-app .eyebrow,
.network-app .level-tag {
    color: var(--muted);
    font-family: var(--font-ui);
    font-weight: 650;
    text-transform: uppercase;
}

.network-app .status-dot {
    background: var(--sage);
    box-shadow: 0 0 0 4px var(--sage-soft);
}

.network-app .pill {
    border-color: var(--line);
    background: var(--paper-soft);
    color: var(--ink-soft);
    font-family: var(--font-ui);
    font-weight: 600;
}

.network-app .level-status {
    border-color: var(--line);
    color: var(--muted);
}

.network-app .featured .level-status {
    background: var(--accent);
    color: #fff;
    border-color: var(--accent);
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */

.network-app .hero-description,
.network-app .microcopy {
    color: var(--muted);
}

.network-app .hero-art {
    color: var(--ink);
}

.network-app .orbit {
    border-color: var(--line);
}

.network-app .orbit-two {
    background: radial-gradient(
        ellipse,
        color-mix(in srgb, var(--accent-soft) 65%, transparent),
        transparent 67%
    );
}

.network-app .sample-profile,
.network-app .orbit-label {
    background: var(--surface);
    border-color: var(--line);
    box-shadow: 0 18px 42px rgb(28 25 24 / 8%);
}

.network-app .sample-cover {
    background: var(--accent-soft);
    color: var(--accent-hover);
}

.network-app .sample-body > .profile-avatar {
    border-color: var(--surface);
}

.network-app .profile-avatar {
    background: var(--sage-soft);
    color: var(--sage);
    font-family: var(--font-display);
}

.network-app .tags > span,
.network-app .tags a {
    background: var(--paper-soft);
    color: var(--ink-soft);
}

.network-app .sample-foot {
    border-color: var(--line);
}

.network-app .orbit-label.top > span {
    background: var(--accent);
}

.network-app .art-caption {
    color: var(--muted);
}

/* --------------------------------------------------------------------------
   Purpose strip / section framing
   -------------------------------------------------------------------------- */

.network-app .purpose-strip {
    background: var(--surface-alt);
    border-color: var(--line);
}

.network-app .purpose-inner > span {
    color: var(--ink-soft);
}

.network-app .section-heading > p {
    color: var(--muted);
}

/* --------------------------------------------------------------------------
   Membership / plan cards
   -------------------------------------------------------------------------- */

.network-app .level-card {
    background: var(--surface);
    border-color: var(--line);
    border-radius: 14px;
}

.network-app .level-card.featured {
    background: var(--accent-soft);
    border-color: var(--accent);
    box-shadow: 0 18px 45px rgb(123 63 74 / 10%);
}

.network-app .level-description,
.network-app .level-price > span,
.network-app .coming-note,
.network-app .membership-note {
    color: var(--muted);
}

.network-app .level-price {
    border-color: var(--line);
}

.network-app .level-card li > svg {
    color: var(--sage);
}

/* --------------------------------------------------------------------------
   Steps / CTA / footer
   -------------------------------------------------------------------------- */

.network-app .step {
    border-color: var(--line);
}

.network-app .step > span {
    color: var(--accent);
}

.network-app .step p {
    color: var(--muted);
}

.network-app .bottom-cta {
    background: var(--ink);
    color: var(--paper-soft);
    border-radius: 18px;
}

.network-app .bottom-cta h2 {
    color: var(--paper-soft);
}

.network-app .bottom-cta .eyebrow {
    color: color-mix(in srgb, var(--paper-soft) 75%, transparent);
}

.network-app .site-footer {
	background: var(--stone-dark);
    border-color: var(--line);
}

.network-app .footer-inner p,
.network-app .footer-inner > span {
    color: var(--muted);
}

/* --------------------------------------------------------------------------
   Skip link
   -------------------------------------------------------------------------- */

.network-app .skip-link {
    background: var(--ink);
    color: var(--paper);
    border-radius: 999px;
}

/* --------------------------------------------------------------------------
   Authentication / forms
   -------------------------------------------------------------------------- */

.network-app .auth-story > p:not(.eyebrow),
.network-app .auth-note,
.network-app .form-intro,
.network-app label > span:not(.profile-avatar),
.network-app .field-help,
.network-app .privacy-note,
.network-app .privacy-check span,
.network-app .form-footer {
    color: var(--muted);
}

.network-app .auth-note {
    border-color: var(--line);
}

.network-app .form-card,
.network-app .editor-section,
.network-app .public-profile,
.network-app .person-card,
.network-app .moderation-card,
.network-app .moderation-settings,
.network-app .admin-user-row,
.network-app .admin-stats,
.network-app .blocked-email-list > div {
    background: var(--surface);
    border-color: var(--line);
}

.network-app .form-card,
.network-app .editor-section,
.network-app .public-profile,
.network-app .person-card,
.network-app .moderation-card {
    border-radius: 14px;
}

.network-app input:not([type='checkbox']):not([type='file']),
.network-app textarea,
.network-app select,
.network-app .admin-search input,
.network-app .admin-user-row select,
.network-app .admin-blocklist input,
.network-app .moderation-settings select,
.network-app .moderation-decision select,
.network-app .moderation-decision textarea {
    min-height: 44px;
    background: var(--surface);
    color: var(--ink);
    border: 1px solid var(--line-strong);
    border-radius: 7px;
    padding: 0.75rem 0.9rem;
    font-family: var(--font-ui);
    font-size: 1rem;
    line-height: 1.5;
}

.network-app input::placeholder,
.network-app textarea::placeholder {
    color: var(--muted);
    opacity: 0.75;
}

.network-app input[aria-invalid='true'],
.network-app textarea[aria-invalid='true'] {
    border-color: var(--danger);
}

.network-app .field-error {
    color: var(--danger);
}

.network-app input[type='checkbox'] {
    accent-color: var(--accent);
}

.network-app input[type='file']::file-selector-button {
    min-height: 40px;
    border: 1px solid var(--line-strong);
    background: var(--paper-soft);
    color: var(--ink);
    border-radius: 999px;
    font-family: var(--font-ui);
}

.network-app .notice {
    background: var(--sage-soft);
    border-color: var(--sage);
    color: var(--ink);
}

.network-app .notice.error {
    background: var(--danger-soft);
    border-color: var(--danger);
    color: var(--danger);
}

/* --------------------------------------------------------------------------
   Legal / publishing / editor
   -------------------------------------------------------------------------- */

.network-app .legal-wrap > p,
.network-app .legal-wrap li,
.network-app .editor-heading p:not(.eyebrow),
.network-app .sidebar-card p,
.network-app .sidebar-note p,
.network-app .section-title p,
.network-app .publish-header p,
.network-app .prose-text,
.network-app .highlight-list {
    color: var(--muted);
}

.network-app .legal-callout,
.network-app .publish-panel {
    background: var(--sage-soft);
    border-color: var(--sage);
}

.network-app .sidebar-card {
    background: var(--surface-alt);
    border-color: var(--line);
    border-radius: 14px;
}

.network-app .completion > div {
    background: var(--line);
}

.network-app .completion > div > span {
    background: var(--sage);
}

.network-app .section-title > span {
    color: var(--accent);
    border-color: var(--line-strong);
}

.network-app .photo-field {
    border-color: var(--line);
}

/* --------------------------------------------------------------------------
   Public profile
   -------------------------------------------------------------------------- */

.network-app .public-cover {
    background:
        repeating-radial-gradient(
            ellipse at 90% 160%,
            transparent 0 28px,
            color-mix(in srgb, var(--accent) 20%, transparent) 29px 30px,
            transparent 31px 54px
        ),
        var(--accent-soft);
}

.network-app .public-cover > span:first-child,
.network-app .cover-star {
    color: var(--accent);
}

.network-app .public-intro > .profile-avatar {
    border-color: var(--surface);
}

.network-app .public-title p,
.network-app .profile-meta {
    color: var(--muted);
}

.network-app .public-body,
.network-app .external-link,
.network-app .public-note {
    border-color: var(--line);
}

.network-app .prose-text,
.network-app .highlight-list {
    color: var(--ink-soft);
}

.network-app .public-note {
    color: var(--accent);
}

/* --------------------------------------------------------------------------
   People / community / directory
   -------------------------------------------------------------------------- */

.network-app .person-card:hover {
    border-color: var(--accent);
    background: var(--paper-soft);
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgb(28 25 24 / 7%);
}

.network-app .person-card p,
.network-app .person-card small {
    color: var(--muted);
}

.network-app .empty-state {
    border-color: var(--line-strong);
    background: var(--surface-alt);
}

.network-app .empty-state p {
    color: var(--muted);
}

/* --------------------------------------------------------------------------
   Admin / moderation
   -------------------------------------------------------------------------- */

.network-app .admin-stats,
.network-app .admin-stats > div,
.network-app .admin-moderation-actions,
.network-app .admin-blocklist,
.network-app .moderation-card > header {
    border-color: var(--line);
}

.network-app .admin-stats span,
.network-app .admin-user-identity span,
.network-app .admin-user-row label > span,
.network-app .provider-status,
.network-app .moderation-content small,
.network-app .blocked-email-list small {
    color: var(--muted);
}

.network-app .admin-user-identity a,
.network-app .admin-user-actions a {
    color: var(--accent);
}

.network-app .text-button {
    color: var(--ink);
}

.network-app .text-button.warning,
.network-app .pill.status-review {
    color: var(--warning);
}

.network-app .text-button.danger,
.network-app .pill.status-blocked {
    color: var(--danger);
}

.network-app .moderation-content dl > div {
    background: var(--paper-soft);
}

.network-app .moderation-content dl > div.changed {
    border-left-color: var(--accent);
}

.network-app .moderation-content dt {
    color: var(--muted);
}

.network-app .automated-results {
    background: var(--surface-alt);
}

/* --------------------------------------------------------------------------
   Research / expertise directory
   -------------------------------------------------------------------------- */

.network-app .research-hero > p:last-of-type,
.network-app .tag-directory small,
.network-app .person-list-row small {
    color: var(--muted);
}

.network-app .research-search,
.network-app .display-switch {
    background: var(--surface);
    border-color: var(--line);
}

.network-app .research-search input {
    background: transparent;
}

.network-app .tag-directory,
.network-app .tag-directory > a,
.network-app .people-list,
.network-app .person-list-row {
    border-color: var(--line);
}

.network-app .display-switch a.active {
    background: var(--ink);
    color: var(--paper);
}

.network-app .person-list-row h2 {
    font-family: var(--font-display);
    font-weight: 400;
}

/* --------------------------------------------------------------------------
   Mobile navigation
   -------------------------------------------------------------------------- */

@media (max-width: 760px) {
    .network-app .site-nav {
        background: var(--paper);
        border-color: var(--line);
        box-shadow: 0 18px 38px rgb(28 25 24 / 10%);
    }

    .network-app .site-nav.open {
        padding: 1.25rem;
    }

    .network-app .site-nav.open > a:not(.button) {
        min-height: 44px;
        display: flex;
        align-items: center;
        padding-inline: 0.25rem;
        font-size: 1rem;
    }

    .network-app .menu-toggle {
        min-width: 44px;
        min-height: 44px;
        border-radius: 999px;
        color: var(--ink);
    }

    .network-app h1 {
        font-size: clamp(2.75rem, 13vw, 4rem);
        letter-spacing: -0.035em;
    }

    .network-app .section-heading h2,
    .network-app .how-section h2 {
        font-size: clamp(2rem, 10vw, 2.75rem);
    }

    .network-app .form-card,
    .network-app .editor-section,
    .network-app .publish-panel {
        padding: 1.25rem;
    }

    .network-app .bottom-cta {
        border-radius: 14px;
    }
}

/* --------------------------------------------------------------------------
   Dark-mode hardcoded-surface corrections
   -------------------------------------------------------------------------- */

[data-theme='dark'] .network-app .sample-profile,
[data-theme='dark'] .network-app .orbit-label,
[data-theme='dark'] .network-app .form-card,
[data-theme='dark'] .network-app .editor-section,
[data-theme='dark'] .network-app .public-profile,
[data-theme='dark'] .network-app .person-card,
[data-theme='dark'] .network-app .moderation-card,
[data-theme='dark'] .network-app .moderation-settings,
[data-theme='dark'] .network-app .admin-user-row,
[data-theme='dark'] .network-app .admin-stats,
[data-theme='dark'] .network-app .blocked-email-list > div,
[data-theme='dark'] .network-app .research-search,
[data-theme='dark'] .network-app .display-switch,
.network-app[data-theme='dark'] .sample-profile,
.network-app[data-theme='dark'] .orbit-label,
.network-app[data-theme='dark'] .form-card,
.network-app[data-theme='dark'] .editor-section,
.network-app[data-theme='dark'] .public-profile,
.network-app[data-theme='dark'] .person-card,
.network-app[data-theme='dark'] .moderation-card,
.network-app[data-theme='dark'] .moderation-settings,
.network-app[data-theme='dark'] .admin-user-row,
.network-app[data-theme='dark'] .admin-stats,
.network-app[data-theme='dark'] .blocked-email-list > div,
.network-app[data-theme='dark'] .research-search,
.network-app[data-theme='dark'] .display-switch {
    background: var(--surface);
    color: var(--ink);
}

[data-theme='dark'] .network-app input,
[data-theme='dark'] .network-app textarea,
[data-theme='dark'] .network-app select,
.network-app[data-theme='dark'] input,
.network-app[data-theme='dark'] textarea,
.network-app[data-theme='dark'] select {
    color-scheme: dark;
}

/* --------------------------------------------------------------------------
   Reduced motion
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    .network-app *,
    .network-app *::before,
    .network-app *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}


/* ==========================================================================
   ACADEMICS.NETWORK — CREAM EDITORIAL PALETTE VARIANT
   --------------------------------------------------------------------------
   Alternative colour treatment for comparison with the blush/pink version.

   Direction:
   - warm parchment / cream base
   - crisp off-white content surfaces
   - charcoal typography
   - restrained plum for actions and identity
   - muted sage for trust / verification
   - warm stone for quiet structural emphasis

   Layout, typography, class names and component behaviour remain unchanged.
   ========================================================================== */

.network-app {
    --ink: #1d1a17;
    --ink-soft: #403b35;
    --muted: #686158;
	--navigation: #ffffff;

    --paper: #f3eee3;
    --paper-soft: #faf7ef;
    --surface: #fffdf8;
    --surface-alt: #e9e1d3;

    --line: #d8cebf;
    --line-strong: #b9ad9d;

    --accent: #714158;
    --accent-hover: #593345;
    --accent-soft: #eadfe3;

    --sage: #53665a;
    --sage-hover: #425448;
    --sage-soft: #dfe6df;

    --stone: #8b8175;
    --stone-soft: #eee8dc;
	--stone-dark: #c9c4b9;
    --feature-surface: #eee3d2;
    --feature-surface-strong: #e5d6c0;

    --danger: #963d34;
    --danger-soft: #f3dfda;
    --warning: #7d6028;
    --warning-soft: #eee4c8;
    --success: #486052;

    background: var(--paper);
    color: var(--ink);
}

[data-theme='dark'] .network-app,
.network-app[data-theme='dark'] {
    --ink: #f4eee4;
    --ink-soft: #ded5c8;
    --muted: #c3b8aa;
	--navigation: #ffffff;

    --paper: #1b1916;
    --paper-soft: #211e1a;
    --surface: #27231f;
    --surface-alt: #332e28;

    --line: #4e473e;
    --line-strong: #756a5d;

    --accent: #d5a6b8;
    --accent-hover: #e6bccb;
    --accent-soft: #49333d;

    --sage: #a9b9ac;
    --sage-hover: #bfcec2;
    --sage-soft: #314037;

    --stone: #b7aa9a;
    --stone-soft: #342f29;
	--stone-dark: #c9c4b9;
    --feature-surface: #352f28;
    --feature-surface-strong: #40372d;

    --danger: #e8aaa1;
    --danger-soft: #472b27;
    --warning: #dec389;
    --warning-soft: #433923;
    --success: #b5c9b9;
}

.network-app .site-header {
    /*background: color-mix(in srgb, var(--paper) 94%, transparent);*/
	background: var(--navigation);
}

.network-app .brand > svg {
    color: var(--accent);
}

.network-app .orbit-two {
    background: radial-gradient(
        ellipse,
        color-mix(in srgb, var(--feature-surface-strong) 72%, transparent),
        transparent 67%
    );
}

.network-app .sample-cover {
    background: var(--stone-dark);
    color: var(--ink-soft);
}

.network-app .orbit-label.top > span {
    background: var(--accent);
}

.network-app .purpose-strip {
    background: var(--stone-dark);
}

.network-app .level-card {
    background: var(--surface);
    border-color: var(--line);
}

.network-app .level-card.featured {
    background: var(--feature-surface);
    border-color: var(--accent);
    box-shadow: 0 18px 45px rgb(64 48 39 / 8%);
}

.network-app .featured .level-status {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}

.network-app .level-price strong {
    color: var(--ink);
}

.network-app .button {
    background: var(--ink);
    border-color: var(--ink);
    color: var(--paper-soft);
}

.network-app .button:hover {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}

.network-app .hero-actions > .button {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}

.network-app .hero-actions > .button:hover {
    background: var(--accent-hover);
    border-color: var(--accent-hover);
}

.network-app .status-dot {
    background: var(--sage);
    box-shadow: 0 0 0 4px var(--sage-soft);
}

.network-app .completion > div > span {
    background: var(--sage);
}

.network-app .level-card li > svg {
    color: var(--sage);
}

.network-app .form-card,
.network-app .editor-section,
.network-app .public-profile,
.network-app .person-card,
.network-app .moderation-card,
.network-app .moderation-settings,
.network-app .admin-user-row,
.network-app .admin-stats,
.network-app .blocked-email-list > div,
.network-app .research-search,
.network-app .display-switch {
    background: var(--surface);
}

.network-app .sidebar-card,
.network-app .empty-state,
.network-app .automated-results {
    background: var(--stone-soft);
}

.network-app .legal-callout,
.network-app .publish-panel,
.network-app .notice {
    background: var(--sage-soft);
    border-color: var(--sage);
}

.network-app .public-cover {
    background:
        repeating-radial-gradient(
            ellipse at 90% 160%,
            transparent 0 28px,
            color-mix(in srgb, var(--accent) 14%, transparent) 29px 30px,
            transparent 31px 54px
        ),
        var(--feature-surface);
}

.network-app .cover-star,
.network-app .public-note,
.network-app .section-title > span,
.network-app .step > span {
    color: var(--accent);
}

.network-app .person-card:hover {
    background: var(--paper-soft);
    border-color: var(--accent);
    box-shadow: 0 14px 34px rgb(53 45 37 / 7%);
}

.network-app .pill,
.network-app .tags > span,
.network-app .tags a {
    background: var(--paper-soft);
    border-color: var(--line);
    color: var(--ink-soft);
}

@media (max-width: 760px) {
    .network-app .site-nav {
        background: var(--paper);
        border-color: var(--line);
    }
}


/* ==========================================================================
   PROFILE EDITOR — QUIET EXPRESSION
   CSS-only treatment: no template or JavaScript changes required.
   Scoped to .editor-wrap so public pages retain their existing presentation.
   ========================================================================== */

.network-app .editor-wrap {
    --editor-padding: 30px;
}

/* A paper-like masthead with fine intersecting arcs at the far right.
   Background decoration cannot intercept clicks or enter the reading order. */
.network-app .editor-wrap .editor-heading {
    position: relative;
    flex-wrap: wrap;
    padding: 32px;
    gap: 24px 32px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background:
        radial-gradient(ellipse 210px 150px at 100% 0%,
            transparent 72%, color-mix(in srgb, var(--accent) 24%, transparent) 72.5% 73%, transparent 73.5%),
        radial-gradient(ellipse 260px 190px at 100% 0%,
            transparent 72%, color-mix(in srgb, var(--stone) 28%, transparent) 72.5% 73%, transparent 73.5%),
        radial-gradient(ellipse 240px 210px at 105% -20%,
            transparent 72%, color-mix(in srgb, var(--accent) 16%, transparent) 72.5% 73%, transparent 73.5%),
        linear-gradient(110deg, var(--paper-soft), var(--feature-surface));
    margin-bottom: 32px;
}

.network-app .editor-wrap .editor-heading h1 {
    font-size: clamp(2.5rem, 4.5vw, 3.6rem);
    line-height: 1.08;
    letter-spacing: -0.035em;
    max-width: 22ch;
}

.network-app .editor-wrap .editor-heading .eyebrow {
    color: var(--accent);
    letter-spacing: 0.14em;
}

.network-app .editor-wrap .editor-heading p:not(.eyebrow) {
    font-size: 0.9375rem;
    max-width: 48ch;
}

/* Give secondary destinations less weight; keep preview recognisable. */
.network-app .editor-wrap .editor-heading a.button:is(
    [href$="/my-projects"], [href$="/publications"], [href$="/referrals"]
) {
    background: transparent;
    border-color: transparent;
    color: var(--ink-soft);
    box-shadow: none;
    padding-inline: 0.75rem;
    font-weight: 500;
    transform: none;
}

.network-app .editor-wrap .editor-heading a.button:is(
    [href$="/my-projects"], [href$="/publications"], [href$="/referrals"]
):hover {
    background: var(--surface);
    color: var(--accent);
    text-decoration: underline;
    text-underline-offset: 4px;
}

.network-app .editor-wrap .editor-heading a.button[href$="/profile/preview"] {
    background: var(--surface);
    border-color: var(--line-strong);
    color: var(--accent);
    box-shadow: none;
    transform: none;
}

.network-app .editor-wrap .editor-heading a.button[href$="/profile/preview"]:hover {
    background: var(--accent-soft);
    border-color: var(--accent);
}

/* Warm section headers create rhythm without colouring the fields. */
.network-app .editor-wrap .editor-section {
    padding: var(--editor-padding);
    border-radius: 14px;
    box-shadow: 0 5px 20px rgb(53 45 37 / 3%);
    margin-bottom: 26px;
}

.network-app .editor-wrap .editor-section > .section-title {
    margin: calc(-1 * var(--editor-padding));
    margin-bottom: 26px;
    padding: 24px var(--editor-padding) 22px;
    background: linear-gradient(110deg, var(--paper-soft), var(--stone-soft));
    border-bottom: 1px solid var(--line);
    border-radius: 13px 13px 0 0;
}

.network-app .editor-wrap .section-title > span {
    color: var(--accent);
    border-bottom-color: var(--accent);
}

.network-app .editor-wrap .section-title h2 {
    font-size: clamp(1.35rem, 2vw, 1.6rem);
}

.network-app .editor-wrap .section-title p,
.network-app .editor-wrap .field-help {
    font-size: 0.9375rem;
    line-height: 1.65;
}

/* A decorative cover for the existing profile summary.
   Actual member-selected banner imagery needs a template/data binding. */
.network-app .editor-wrap .sidebar-card {
    position: relative;
    isolation: isolate;
    padding-top: 70px;
    background: var(--surface);
    border-radius: 14px;
    box-shadow: 0 6px 24px rgb(53 45 37 / 4%);
}

.network-app .editor-wrap .sidebar-card::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0 0 auto;
    height: 96px;
    border-radius: 13px 13px 0 0;
    background:
        repeating-radial-gradient(ellipse at 100% 150%,
            transparent 0 24px,
            color-mix(in srgb, var(--accent) 18%, transparent) 25px 26px,
            transparent 27px 48px),
        linear-gradient(120deg, var(--stone-soft), var(--accent-soft));
    pointer-events: none;
}

.network-app .editor-wrap .sidebar-card .profile-avatar {
    border: 4px solid var(--surface);
    box-shadow: 0 3px 12px rgb(53 45 37 / 8%);
}

.network-app .editor-wrap .sidebar-note {
    margin-top: 18px;
    padding: 20px;
    background: var(--paper-soft);
    border-left: 2px solid var(--sage);
    border-radius: 0 10px 10px 0;
}

.network-app .editor-wrap .photo-field {
    padding: 18px;
    background: var(--paper-soft);
    border: 1px solid var(--line);
    border-radius: 10px;
    flex-wrap: wrap;
}

/* Visible focus stays intact; invalid fields retain their error colour. */
.network-app .editor-wrap :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
    textarea, select
):focus:not([aria-invalid="true"]) {
    border-color: var(--accent);
    background: var(--paper-soft);
}

.network-app .editor-wrap .publish-panel .button:not(.outline):not(.light) {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--surface);
}

.network-app .editor-wrap .publish-panel .button:not(.outline):not(.light):hover {
    background: var(--accent-hover);
    border-color: var(--accent-hover);
}

@media (max-width: 760px) {
    .network-app .editor-wrap {
        --editor-padding: 20px;
    }
    .network-app .editor-wrap .editor-heading {
        padding: 24px 20px;
        gap: 20px;
        background: linear-gradient(120deg, var(--paper-soft), var(--feature-surface));
    }
    .network-app .editor-wrap .editor-section > .section-title {
        padding-block: 20px;
    }
    .network-app .editor-wrap .editor-heading a.button {
        white-space: normal;
        max-width: 100%;
        min-height: 44px;
    }
    .network-app .editor-wrap .photo-field {
        gap: 14px;
        padding: 14px;
    }
}

@media (forced-colors: active) {
    .network-app .editor-wrap .editor-heading,
    .network-app .editor-wrap .editor-section > .section-title {
        background: Canvas;
        border-color: CanvasText;
    }
    .network-app .editor-wrap .sidebar-card::before {
        display: none;
    }
}

.network-app .connection-settings {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 20px 12px;
    padding: 24px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: 0 5px 20px rgb(53 45 37 / 3%);
}

.network-app .connection-settings > svg {
    color: var(--accent);
    margin-top: 3px;
}

.network-app .connection-settings > h2 {
    margin: 0;
    font-size: 1.375rem;
    line-height: 1.25;
    letter-spacing: -0.025em;
}

/* Each preference spans the card, with checkbox and text side by side. */
.network-app .connection-settings > label {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    margin: 0;
    padding: 0 0 18px;
    border-bottom: 1px solid var(--line);
    cursor: pointer;
}

.network-app .connection-settings input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin: 2px 0 0;
    accent-color: var(--accent);
}

/* Override the site's global label > span typography. */
.network-app .connection-settings > label > span {
    display: block;
    margin: 0;
    font-size: 0.9375rem;
    color: var(--ink);
}

.network-app .connection-settings strong {
    display: block;
    font-weight: 600;
    line-height: 1.45;
}

.network-app .connection-settings small {
    display: block;
    margin-top: 5px;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--muted);
}

/* Give the overall pause control its own quiet emphasis. */
.network-app .connection-settings > .preference-pause {
    padding: 16px;
    background: var(--stone-soft);
    border: 1px solid var(--line);
    border-radius: 10px;
}

.network-app .connection-settings > label:focus-within {
    outline: 3px solid var(--accent);
    outline-offset: 4px;
    border-radius: 6px;
}

.network-app .connection-settings > .button {
    grid-column: 1 / -1;
    width: 100%;
    white-space: normal;
    min-height: 44px;
    font-size: 0.9375rem;
}

@media (max-width: 760px) {
    .network-app .connection-settings {
        padding: 20px;
    }
}