/* ================================================================
   HubInovasi KVKS — Bright editorial innovation system
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');

:root {
    --ink: #111111;
    --paper: #faf7f2;
    --white: #ffffff;
    --magenta: #e6007e;
    --magenta-dark: #bd0068;
    --tangerine: #ff6b00;
    --neutral: #e8e3dc;
    --violet: var(--magenta);
    --violet-dark: var(--magenta);
    --lime: var(--magenta);
    --coral: var(--tangerine);
    --sky: #f5ddea;
    --line: 1px solid var(--neutral);
    --shadow: 0 12px 34px rgba(17, 17, 17, .08);
    --container: 1180px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

@keyframes heroContentIn {
    from { opacity: 0; transform: translateY(22px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes heroVisualIn {
    from { opacity: 0; transform: translateX(24px) scale(.96); }
    to { opacity: 1; transform: translateX(0) scale(1); }
}

@keyframes statPulse {
    0% { opacity: 0; transform: translateY(8px); }
    100% { opacity: 1; transform: translateY(0); }
}

@keyframes glowFloat {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-8px) scale(1.03); }
}

body {
    margin: 0;
    color: var(--ink);
    background: var(--paper);
    font-family: 'Inter', Arial, sans-serif;
    line-height: 1.6;
}

body.nav-open { overflow: hidden; }

.programme-selector{margin:18px 0;padding:18px;border:var(--line);background:#fff}.programme-selector legend{padding:0 8px;font-weight:800}.programme-selector>p{margin:0 0 12px;color:#666;font-size:.82rem}.programme-selector>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.programme-selector>div label{display:flex;align-items:flex-start;gap:10px;padding:12px;border:var(--line);cursor:pointer}.programme-selector>div label:has(input:checked){border-color:var(--magenta);background:#fff1f7}.programme-selector>div input{margin-top:4px}.programme-selector>div span{display:grid;font-size:.75rem}.programme-selector>div strong{color:var(--magenta);font-size:.85rem}@media(max-width:640px){.programme-selector>div{grid-template-columns:1fr}}

a { color: inherit; }

.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: 10px; left: 10px; padding: 10px 16px; background: var(--ink); color: white; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

/* Header and navigation */
.site-header { position: relative; z-index: 50; background: var(--paper); border-bottom: var(--line); }
.site-header__inner { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; }
.brand__mark { display: grid; place-items: center; width: 46px; height: 46px; background: var(--violet); color: white; border: var(--line); border-radius: 50%; font: 700 1.35rem 'Space Grotesk', sans-serif; transform: rotate(-5deg); }
.brand__mark span, .brand__name span { color: var(--coral); }
.brand__name { display: flex; align-items: baseline; font: 700 1.24rem 'Space Grotesk', sans-serif; letter-spacing: -0.05em; }
.brand__name small { margin-left: 7px; padding: 1px 5px; color: var(--violet); border: 1px solid currentColor; font-size: .52rem; letter-spacing: .08em; }
.primary-nav ul, .site-footer ul { display: flex; align-items: center; gap: 34px; margin: 0; padding: 0; list-style: none; }
.primary-nav a { position: relative; font-weight: 700; font-size: .92rem; text-decoration: none; transition: color .2s ease, transform .2s ease; }
.primary-nav a:hover, .primary-nav a:focus-visible { transform: translateY(-2px); color: var(--violet-dark); }
.primary-nav a:not(.nav-cta)::after { content: ''; position: absolute; right: 0; bottom: -7px; left: 0; height: 3px; background: var(--coral); transform: scaleX(0); transition: transform .2s ease; }
.primary-nav a:hover::after, .primary-nav a[aria-current='page']::after { transform: scaleX(1); }
.nav-cta { display: inline-block; padding: 9px 16px; background: var(--lime); border: var(--line); box-shadow: 3px 3px 0 var(--ink); transition: transform .2s ease, box-shadow .2s ease; }
.nav-cta:hover, .nav-cta:focus-visible { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--ink); }
.nav-cta:active { transform: translate(1px, 1px); box-shadow: 1px 1px 0 var(--ink); }
.nav-toggle { display: none; width: 48px; height: 43px; padding: 9px; background: var(--lime); border: var(--line); transition: transform .2s ease, box-shadow .2s ease; }
.nav-toggle:hover, .nav-toggle:focus-visible { transform: translateY(-2px); box-shadow: 4px 4px 0 var(--ink); }
.nav-toggle > span[aria-hidden] { display: block; height: 2px; margin: 5px 0; background: var(--ink); transition: .2s; }

/* Homepage hero */
.hero { position: relative; overflow: hidden; min-height: 680px; padding: 78px 0 92px; background-color: var(--paper); background-image: linear-gradient(rgba(21,21,26,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(21,21,26,.055) 1px, transparent 1px); background-size: 32px 32px; border-bottom: var(--line); }
.hero::before {
    content: '';
    position: absolute;
    inset: 18px 24px auto auto;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(105, 82, 255, 0.16) 0%, rgba(255,255,255,0) 70%);
    filter: blur(10px);
    pointer-events: none;
    animation: glowFloat 5s ease-in-out infinite;
}
.hero__grid { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 70px; }
.hero__content { animation: heroContentIn .8s cubic-bezier(.2,.8,.2,1) both; }
.hero__visual { animation: heroVisualIn .95s cubic-bezier(.2,.8,.2,1) .08s both; }
.announcement { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 22px; padding: 6px 13px; background: var(--white); border: var(--line); border-radius: 999px; font-size: .77rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.announcement span { color: var(--coral); font-size: .75rem; }
.hero__stat-strip { display: flex; flex-wrap: wrap; gap: 12px; margin: 18px 0 22px; }
.hero__stat-strip > div { min-width: 110px; padding: 12px 14px; border: var(--line); background: rgba(255,255,255,.78); box-shadow: 4px 4px 0 rgba(19,19,25,.08); animation: statPulse .65s ease both; }
.hero__stat-strip > div:nth-child(2) { animation-delay: .08s; }
.hero__stat-strip > div:nth-child(3) { animation-delay: .16s; }
.hero__stat-strip strong { display: block; font: 700 1.15rem 'Space Grotesk', sans-serif; color: var(--violet-dark); }
.hero__stat-strip span { font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.eyebrow { margin: 0 0 12px; color: var(--violet-dark); font-size: .79rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.hero h1, .page-hero h1 { margin: 0; font: 700 clamp(3.35rem, 7.2vw, 6.6rem)/.89 'Space Grotesk', sans-serif; letter-spacing: -.075em; }
.hero h1 span { position: relative; color: var(--violet); }
.hero h1 span::after { content: ''; position: absolute; right: 4%; bottom: -9px; left: 1%; height: 8px; background: var(--coral); border-radius: 50%; transform: rotate(-1deg); }
.hero__intro { max-width: 620px; margin: 35px 0 0; font-size: 1.12rem; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 32px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 54px; padding: 12px 21px; border: var(--line); color: var(--ink); font-weight: 800; text-decoration: none; box-shadow: 5px 5px 0 var(--ink); transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.button:hover, .button:focus-visible { transform: translate(-3px, -3px); box-shadow: 8px 8px 0 var(--ink); }
.button:active { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--ink); }
.button--primary { background: var(--lime); }
.button--secondary { background: var(--white); }
.hero__visual { position: relative; min-height: 440px; }
.idea-card { position: absolute; border: var(--line); box-shadow: var(--shadow); font-family: 'Space Grotesk', sans-serif; }
.idea-card--main { inset: 15px 20px 28px 38px; display: flex; flex-direction: column; justify-content: space-between; padding: 27px; background: var(--violet); color: white; transform: rotate(3deg); }
.idea-card--main strong { font-size: clamp(3.1rem, 5vw, 5rem); line-height: .86; letter-spacing: -.07em; }
.idea-card__number { align-self: flex-end; font-size: .8rem; border-bottom: 2px solid currentColor; }
.idea-card__icon { font-size: 2.7rem; color: var(--lime); }
.idea-card--note { right: -20px; bottom: 0; padding: 17px 22px; background: var(--coral); font-weight: 800; line-height: 1.1; transform: rotate(-5deg); }
.hero__scribble { position: absolute; top: -15px; left: -12px; font: 700 4rem sans-serif; transform: rotate(105deg); }
.hero__decoration { position: absolute; pointer-events: none; }
.hero__decoration--circle { right: -55px; top: 35px; width: 130px; height: 130px; background: var(--sky); border: var(--line); border-radius: 50%; }
.hero__decoration--spark { bottom: 25px; left: 4%; color: var(--coral); font-size: 4rem; }

/* Innovation journey */
.journey { padding: 100px 0 110px; background: white; }
.section-heading { display: grid; grid-template-columns: .7fr 2fr; gap: 30px; align-items: start; margin-bottom: 55px; }
.section-heading--compact { grid-template-columns: .85fr 1.15fr; margin-bottom: 32px; }
.section-heading h2 { max-width: 850px; margin: 0; font: 700 clamp(2rem, 4.5vw, 4rem)/1.02 'Space Grotesk', sans-serif; letter-spacing: -.055em; position: relative; }
.section-heading h2::after { content: ''; position: absolute; right: -6px; bottom: -10px; width: 120px; height: 10px; background: linear-gradient(90deg, var(--coral), transparent); border-radius: 999px; opacity: .9; }
.featured-showcase { padding: 0 0 90px; background: #fffdf8; }
.pitch-panel { padding: 0 0 90px; }
.pitch-panel__inner { display: grid; grid-template-columns: 1.15fr .85fr; gap: 24px; padding: 32px; border: var(--line); background: linear-gradient(135deg, #15151b 0%, #4b2a7a 100%); box-shadow: var(--shadow); color: var(--white); }
.pitch-panel__quote h2 { margin: 0; font: 700 clamp(1.8rem, 3vw, 2.45rem)/1.08 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
.pitch-panel__insight { display: grid; gap: 16px; align-content: start; }
.pitch-panel__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border: 1px solid rgba(255, 255, 255, 0.24); background: rgba(255,255,255,.06); }
.pitch-panel__stats > div { padding: 22px 20px; border-right: 1px solid rgba(255, 255, 255, 0.24); background: linear-gradient(135deg, rgba(255,255,255,.1) 0%, rgba(255,255,255,.04) 100%); }
.pitch-panel__stats > div:last-child { border-right: 0; }
.pitch-panel__stats strong { display: block; margin-bottom: 6px; font: 700 clamp(1.45rem, 2.1vw, 1.85rem) 'Space Grotesk', sans-serif; }
.pitch-panel__stats span { font-size: .95rem; line-height: 1.5; }
.pitch-panel__insight p { margin: 0; font-size: 1rem; line-height: 1.7; color: rgba(255, 255, 255, 0.92); }
.milestone-section { padding: 0 0 90px; }
.milestone-section__inner { padding: 32px; border: var(--line); background: linear-gradient(135deg, #fff7da 0%, #edf8ff 100%); box-shadow: var(--shadow); }
.milestone-timeline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.milestone-item { padding: 24px; border: var(--line); background: var(--white); }
.milestone-item--accent { background: linear-gradient(135deg, #e6e1ff 0%, #edffc0 100%); }
.milestone-item__year { display: inline-block; margin-bottom: 12px; padding: 6px 10px; background: var(--ink); color: var(--white); font: 700 .78rem 'Space Grotesk', sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.milestone-item h3 { margin: 0 0 10px; font: 700 1.3rem 'Space Grotesk', sans-serif; }
.milestone-item p { margin: 0; }
.showcase-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 18px; }
.spotlight-section { padding: 0 0 80px; }
.spotlight-section__inner { display: grid; grid-template-columns: 1.05fr .95fr; gap: 24px; padding: 32px; border: var(--line); background: #fffef9; box-shadow: var(--shadow); }
.spotlight-section__lead h2 { margin: 0 0 12px; font: 700 clamp(1.7rem, 3vw, 2.3rem)/1.08 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
.spotlight-section__lead p:last-child { margin: 0; }
.spotlight-section__cards { display: grid; gap: 16px; }
.spotlight-card { padding: 24px; border: var(--line); background: #ffffff; box-shadow: 0 8px 0 rgba(0, 0, 0, 0.03); }
.spotlight-card--accent { background: linear-gradient(135deg, #e6e1ff 0%, #fbecc5 100%); }
.spotlight-card h3 { margin: 0 0 10px; font: 700 1.3rem 'Space Grotesk', sans-serif; letter-spacing: -.03em; }
.spotlight-card p { margin: 0; }
.community-section { padding: 0 0 80px; }
.community-section__inner { display: grid; grid-template-columns: 1.15fr .85fr; gap: 24px; padding: 30px; border: var(--line); background: linear-gradient(135deg, #e6e1ff 0%, #edffc0 100%); box-shadow: var(--shadow); }
.community-section h2 { margin: 0 0 12px; font: 700 clamp(1.7rem, 3vw, 2.3rem)/1.08 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
.community-metrics { display: grid; gap: 12px; }
.community-metrics > div { padding: 18px 20px; border: var(--line); background: rgba(255,255,255,.75); }
.community-metrics strong { display: block; font: 700 1.8rem 'Space Grotesk', sans-serif; color: var(--violet-dark); }
.community-metrics span { font-weight: 700; }
.showcase-card { padding: 24px; border: var(--line); background: var(--white); box-shadow: var(--shadow); }
.showcase-card--highlight { background: linear-gradient(135deg, #ffe4dd 0%, #e7f7f5 100%); position: relative; overflow: hidden; }
.showcase-card--highlight::before { content: ''; position: absolute; inset: auto -20px -20px auto; width: 120px; height: 120px; background: radial-gradient(circle, rgba(105,82,255,.2) 0%, rgba(255,255,255,0) 70%); pointer-events: none; }
.showcase-card__eyebrow { margin: 0 0 12px; color: var(--violet-dark); font: 700 .74rem 'Space Grotesk', sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.showcase-card h3 { margin: 0 0 10px; font: 700 1.35rem 'Space Grotesk', sans-serif; }
.showcase-card p { margin: 0; }
.showcase-card a { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; font-weight: 800; text-decoration: none; }
.journey__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 0; padding: 0; list-style: none; border: var(--line); box-shadow: var(--shadow); }
.journey__step { min-height: 275px; padding: 24px 27px 30px; display: flex; flex-direction: column; justify-content: space-between; }
.journey__step + .journey__step { border-left: var(--line); }
.journey__step--problem { background: #ffe4dd; }
.journey__step--solution { background: #e6e1ff; }
.journey__step--impact { background: #edffc0; }
.journey__number { align-self: flex-end; font: 700 1rem 'Space Grotesk', sans-serif; }
.journey__step h3 { margin: 0 0 8px; font: 700 2rem 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
.journey__step p { margin: 0; }
.launch-strip { background: linear-gradient(135deg, var(--coral) 0%, #ff8c5b 100%); border-block: var(--line); box-shadow: inset 0 -6px 0 rgba(0,0,0,.06); }
.launch-strip__inner { min-height: 116px; display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-block: 24px; }
.launch-strip p { margin: 0; font: 700 clamp(1.25rem, 3vw, 2rem) 'Space Grotesk', sans-serif; }
.launch-strip a { font-weight: 800; text-underline-offset: 5px; padding: 12px 18px; border: var(--line); background: var(--white); box-shadow: 4px 4px 0 var(--ink); transition: transform .2s ease, box-shadow .2s ease; }
.launch-strip a:hover, .launch-strip a:focus-visible { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 var(--ink); }

/* Internal pages */
.inner-page { min-height: 58vh; }
.page-hero { padding: 110px 0 130px; background: #e6e1ff; border-bottom: var(--line); }
.page-hero--accent { background: #edffc0; }
.page-hero__inner { max-width: 900px; }
.page-hero h1 { font-size: clamp(3.4rem, 8vw, 7rem); }
.page-hero p:last-child { max-width: 700px; margin: 30px 0 0; font-size: 1.2rem; }

/* Footer */
.site-footer { padding: 70px 0 24px; background: var(--ink); color: white; }
.site-footer__grid { display: flex; align-items: flex-start; justify-content: space-between; gap: 40px; }
.brand--footer { color: white; }
.site-footer__grid p { margin: 16px 0 0; color: #c7c7cd; }
.site-footer nav a { color: white; font-weight: 700; text-underline-offset: 5px; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 25px; margin-top: 55px; padding-top: 20px; border-top: 1px solid #48484f; color: #a8a8af; font-size: .74rem; letter-spacing: .06em; }

/* Explore page */
.explore-page { background: #fffdf8; }
.page-hero--explore { background: linear-gradient(135deg, #e6e1ff 0%, #edffc0 100%); }
.page-hero__meta { margin-top: 28px; }
.project-count-pill { display: inline-flex; align-items: center; padding: 10px 16px; background: var(--white); border: var(--line); box-shadow: 4px 4px 0 var(--ink); font-size: .8rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.explore-toolbar { padding: 44px 0 24px; }
.explore-toolbar__inner { padding: 30px; background: var(--white); border: var(--line); box-shadow: var(--shadow); }
.explore-toolbar__head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.explore-toolbar__head h2 { margin: 0; font: 700 clamp(1.6rem, 3vw, 2.2rem)/1.1 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
.eyebrow--small { margin-bottom: 8px; font-size: .73rem; }
.toolbar-count { margin: 0; color: var(--violet-dark); font-weight: 700; }
.explore-toolbar__controls { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; }
.search-field { flex: 1 1 320px; }
.search-field input { width: 100%; min-height: 52px; padding: 0 18px; border: var(--line); background: #fffdf8; color: var(--ink); font: 600 1rem 'Inter', Arial, sans-serif; }
.search-field input:focus { outline: 3px solid var(--sky); outline-offset: 2px; }
.filter-group { display: flex; flex-wrap: wrap; gap: 10px; }
.filter-chip { border: var(--line); background: var(--white); color: var(--ink); padding: 10px 14px; font: 700 .92rem 'Inter', Arial, sans-serif; cursor: pointer; transition: .18s; }
.filter-chip:hover, .filter-chip:focus-visible { transform: translate(-1px, -1px); box-shadow: 3px 3px 0 var(--ink); }
.filter-chip.is-active { background: var(--lime); }
.explore-insight { padding: 10px 0 0; }
.explore-insight__inner { display: grid; grid-template-columns: 1.1fr .9fr; gap: 24px; padding: 28px 30px; border: var(--line); background: linear-gradient(135deg, #f7efe7 0%, #eaf7f7 100%); box-shadow: var(--shadow); }
.explore-insight h2 { margin: 0; font: 700 clamp(1.5rem, 2.7vw, 2.1rem)/1.08 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
.explore-insight p:last-child { margin: 0; font-size: 1rem; }
.project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding: 40px 0 24px; }
.project-card { display: flex; flex-direction: column; min-height: 100%; border: var(--line); box-shadow: var(--shadow); overflow: hidden; transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease; transform-style: preserve-3d; }
.project-card:hover, .project-card:focus-within { transform: translateY(-8px) rotateX(1.5deg) rotateY(-2deg) scale(1.01); box-shadow: 18px 18px 0 rgba(19, 19, 25, 0.16); border-color: var(--ink); }
.project-card__visual { position: relative; display: flex; align-items: flex-end; justify-content: space-between; min-height: 180px; padding: 20px; border-bottom: var(--line); background: rgba(255,255,255,.35); overflow: hidden; }
.project-card__visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, transparent 0%, rgba(255,255,255,.22) 100%); opacity: 0; transition: opacity .25s ease; pointer-events: none; }
.project-card:hover .project-card__visual::after, .project-card:focus-within .project-card__visual::after { opacity: 1; }
.project-card--featured { grid-column: span 2; }
.project-card--featured .project-card__visual { min-height: 230px; }
.project-card--peach { background: #ffe4dd; }
.project-card--mint { background: #edffc0; }
.project-card--sky { background: #dff7ff; }
.project-card--lilac { background: #ebe4ff; }
.project-card--coral { background: #ffd6c9; }
.project-card--cream { background: #fff2cc; }
.project-card__visual { position: relative; display: flex; align-items: flex-end; justify-content: space-between; min-height: 180px; padding: 20px; border-bottom: var(--line); background: rgba(255,255,255,.35); }
.project-card__number { font: 700 1rem 'Space Grotesk', sans-serif; color: var(--violet-dark); }
.project-card__visual-mark { font-size: 2.2rem; color: var(--coral); }
.project-card__body { display: flex; flex: 1; flex-direction: column; gap: 12px; padding: 24px; }
.project-card__label, .project-card__category { display: inline-flex; align-self: flex-start; padding: 6px 10px; background: var(--white); border: 1px solid var(--ink); font-size: .73rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.project-card h3 { margin: 0; font: 700 1.55rem/1.05 'Space Grotesk', sans-serif; letter-spacing: -.03em; }
.project-card p { margin: 0; font-size: .98rem; }
.project-card__tags { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 6px 0 0; list-style: none; }
.project-card__tags li { padding: 7px 10px; background: rgba(21, 21, 26, .08); font-size: .8rem; font-weight: 700; }
.project-card__link { display: inline-flex; align-items: center; justify-content: center; margin-top: auto; min-height: 48px; padding: 12px 18px; border: var(--line); background: var(--ink); color: var(--white); font-weight: 800; text-decoration: none; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.project-card__link:hover, .project-card__link:focus-visible { background: var(--violet); transform: translateY(-2px); box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.15); }

.reveal-target { opacity: 0; transform: translateY(24px); }
.reveal-target.is-visible { opacity: 1; transform: translateY(0); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); }
.empty-state { margin: 10px 0 40px; padding: 34px 28px; border: var(--line); background: var(--white); box-shadow: var(--shadow); text-align: center; }
.empty-state h3 { margin: 0 0 10px; font: 700 1.75rem 'Space Grotesk', sans-serif; }
.empty-state p { margin: 0; }
.cta-strip { padding: 0 0 80px; }
.cta-strip__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 34px 38px; background: var(--coral); border: var(--line); box-shadow: var(--shadow); }
.cta-strip h2 { margin: 0; font: 700 clamp(1.6rem, 3vw, 2.2rem)/1.1 'Space Grotesk', sans-serif; letter-spacing: -.04em; }

/* About page */
.about-page { background: #fffdf8; }
.page-hero--about { background: linear-gradient(135deg, #f7efe7 0%, #e6e1ff 100%); }
.about-story { padding: 70px 0 30px; }
.about-story__grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 24px; align-items: start; }
.about-story__copy { padding: 32px; border: var(--line); background: var(--white); box-shadow: var(--shadow); }
.about-story__copy h2 { margin: 0 0 14px; font: 700 clamp(1.7rem, 3vw, 2.35rem)/1.08 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
.about-story__panel { padding: 28px; border: var(--line); background: var(--coral); color: var(--ink); box-shadow: var(--shadow); }
.about-story__label { display: inline-block; margin-bottom: 12px; padding: 6px 10px; background: var(--white); border: 1px solid var(--ink); font: 700 .75rem 'Space Grotesk', sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.about-story__panel p:last-child { margin: 0; font: 700 1.3rem/1.25 'Space Grotesk', sans-serif; }
.about-values { padding: 24px 0 70px; }
.about-values__heading { margin-bottom: 24px; }
.about-values__heading h2 { margin: 0; font: 700 clamp(1.7rem, 3vw, 2.3rem)/1.08 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
.about-values__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.about-card { padding: 24px; border: var(--line); background: var(--white); box-shadow: var(--shadow); }
.about-card h3 { margin: 0 0 10px; font: 700 1.2rem 'Space Grotesk', sans-serif; }
.about-card p { margin: 0; }
.about-cta { padding: 0 0 80px; }
.about-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 34px 38px; border: var(--line); background: linear-gradient(135deg, #edffc0 0%, #f7efe7 100%); box-shadow: var(--shadow); }
.about-cta h2 { margin: 0; font: 700 clamp(1.65rem, 3vw, 2.2rem)/1.08 'Space Grotesk', sans-serif; letter-spacing: -.04em; }

/* Submission page */
.submission-section { padding: 70px 0 90px; }
.submission-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 24px; align-items: start; }
.submission-card { padding: 32px; border: var(--line); box-shadow: var(--shadow); background: var(--white); }
.submission-card--intro { background: linear-gradient(135deg, #f7efe7 0%, #e9f7f6 100%); }
.submission-card h2 { margin: 0 0 12px; font: 700 clamp(1.7rem, 3vw, 2.3rem)/1.05 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
.submission-card p { margin: 0; }
.submission-highlights { margin: 20px 0 0; padding-left: 18px; }
.submission-highlights li + li { margin-top: 8px; }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form-field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; font-weight: 700; }
.form-field span { font-size: .92rem; }
.form-field input,
.form-field textarea,
.form-field select {
    width: 100%; min-height: 48px; padding: 0 14px; border: var(--line); background: #fffdf8; color: var(--ink); font: 600 1rem 'Inter', Arial, sans-serif;
}
.form-field textarea { min-height: 112px; padding: 12px 14px; resize: vertical; }
.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus { outline: 3px solid var(--sky); outline-offset: 2px; }
.form-check { display: flex; align-items: flex-start; gap: 10px; margin: 6px 0 20px; font-weight: 700; }
.form-check input { margin-top: 4px; accent-color: var(--violet); }
.form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.form-note { max-width: 330px; color: #5e5e69; font-size: .9rem; }
.form-message { margin-top: 16px; padding: 14px 16px; border: var(--line); background: #edffc0; font-weight: 700; }
.form-message--error { background: #ffe4dd; }

/* Project detail page */
.project-page { background: #fffdf8; }
.project-hero { padding: 78px 0 70px; background: linear-gradient(135deg, #f7efe7 0%, #e8f7f2 55%, #f3e3f6 100%); border-bottom: var(--line); position: relative; overflow: hidden; }
.project-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(21,21,26,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(21,21,26,.04) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events: none;
}
.project-hero__inner { position: relative; z-index: 1; }
.project-hero__topbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 32px; }
.project-back-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; text-decoration: none; }
.project-number { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: var(--line); background: var(--white); box-shadow: 4px 4px 0 var(--ink); font: 700 1rem 'Space Grotesk', sans-serif; }
.project-hero__content { display: grid; grid-template-columns: 1.1fr .9fr; gap: 36px; align-items: center; }
.eyebrow--project { margin-bottom: 12px; color: #9b4f4f; }
.project-category { margin: 0 0 10px; color: #8c2f5a; font: 700 .95rem 'Space Grotesk', sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.project-hero h1 { margin: 0; font: 700 clamp(2.8rem, 6vw, 4.8rem)/.95 'Space Grotesk', sans-serif; letter-spacing: -.055em; }
.project-full-title { margin: 12px 0 0; font: 700 1.15rem 'Space Grotesk', sans-serif; color: #5b4b64; }
.project-tagline { margin: 16px 0 0; font: 700 1.2rem 'Space Grotesk', sans-serif; color: #2f6d66; }
.project-intro { margin: 18px 0 0; max-width: 620px; font-size: 1.04rem; }
.project-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.project-badges span { display: inline-flex; padding: 8px 12px; background: rgba(255,255,255,.75); border: 1px solid var(--ink); font-weight: 700; }
.project-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 24px; }
.project-status-pill { display: inline-flex; margin-top: 24px; padding: 10px 14px; background: #1e6f68; color: white; border: var(--line); font: 700 .85rem 'Space Grotesk', sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.project-hero__visual { display: flex; justify-content: center; }
.mockup-shell { width: min(100%, 440px); padding: 18px; border: var(--line); background: #fefbf7; box-shadow: var(--shadow); }
.mockup-topbar { display: flex; gap: 8px; margin-bottom: 14px; }
.mockup-topbar span { width: 10px; height: 10px; border-radius: 50%; background: #c85b4d; }
.mockup-topbar span:nth-child(2) { background: #e7b84b; }
.mockup-topbar span:nth-child(3) { background: #4a9c8c; }
.mockup-body { display: grid; grid-template-columns: 70px 1fr; gap: 12px; min-height: 320px; padding: 12px; border: 1px solid var(--ink); background: linear-gradient(135deg, #fffdf8 0%, #f2ece9 100%); }
.mockup-sidebar { display: flex; flex-direction: column; gap: 10px; padding-top: 14px; }
.mockup-sidebar span { display: block; height: 12px; background: #cdb8aa; border-radius: 999px; }
.mockup-main { display: grid; grid-template-columns: 1.3fr .7fr; gap: 12px; align-items: stretch; }
.mockup-card { display: flex; flex-direction: column; justify-content: center; padding: 18px; border: 1px solid var(--ink); background: #9d4b6d; color: white; min-height: 120px; }
.mockup-card--large { grid-row: span 2; background: linear-gradient(135deg, #2f6d66 0%, #4fa09a 100%); }
.mockup-card--small { background: #e7cba0; color: var(--ink); }
.mockup-card--small.alt { background: #c0d8de; }
.mockup-card strong { font: 700 1.7rem 'Space Grotesk', sans-serif; }
.mockup-card p { margin: 8px 0 0; font-weight: 700; }
.facts-strip { padding: 26px 0 10px; }
.facts-strip__inner { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; padding: 24px; border: var(--line); background: var(--white); box-shadow: var(--shadow); }
.facts-strip__inner strong { display: block; color: var(--violet-dark); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.facts-strip__inner span { display: block; margin-top: 8px; font-weight: 700; }
.project-section { padding: 70px 0; }
.project-quote { padding: 0 0 30px; }
.project-quote__inner { padding: 32px 36px; border: var(--line); background: linear-gradient(135deg, #f3e3f6 0%, #f7efe7 100%); box-shadow: var(--shadow); }
.project-quote h2 { margin: 0; font: 700 clamp(1.5rem, 2.8vw, 2.15rem)/1.12 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
.project-section__inner { padding: 34px; border: var(--line); background: var(--white); box-shadow: var(--shadow); }
.project-section h2 { margin: 0 0 16px; font: 700 clamp(1.7rem, 3.2vw, 2.35rem)/1.08 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
.project-section p { margin: 0; }
.problem-points, .solution-grid, .tech-list, .timeline-list, .impact-list { display: grid; gap: 14px; margin-top: 28px; }
.editorial-block, .timeline-item { padding: 18px 20px; border: var(--line); background: #f7f0e8; }
.editorial-block--large { background: #f3e3f6; }
.project-section--solution { background: #f8fdf9; }
.solution-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.process-timeline { display: grid; gap: 14px; margin-top: 28px; }
.process-step { display: grid; grid-template-columns: 70px 1fr; gap: 16px; align-items: start; padding: 18px 20px; border: var(--line); background: linear-gradient(90deg, #f7efe7 0%, #fff 100%); }
.process-step__number { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; background: var(--ink); color: white; font: 700 1rem 'Space Grotesk', sans-serif; }
.process-step h3 { margin: 0 0 8px; font: 700 1.2rem 'Space Grotesk', sans-serif; }
.features-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 28px; }
.feature-block { padding: 22px; border: var(--line); background: linear-gradient(135deg, #f7efe7 0%, #eaf7f7 100%); min-height: 120px; display: flex; align-items: center; }
.feature-block--large { grid-column: span 2; background: linear-gradient(135deg, #f3e3f6 0%, #f7efe7 100%); }
.roles-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 28px; }
.role-card { padding: 22px; border: var(--line); background: #fffdf8; }
.role-card h3 { margin: 0 0 10px; font: 700 1.15rem 'Space Grotesk', sans-serif; }
.role-card ul { margin: 0; padding-left: 18px; }
.role-card li + li { margin-top: 8px; }
.impact-grid { display: grid; grid-template-columns: 1fr .95fr; gap: 18px; margin-top: 28px; }
.impact-statement { padding: 26px; border: var(--line); background: linear-gradient(135deg, #2f6d66 0%, #4fa09a 100%); color: white; display: flex; align-items: center; font: 700 1.35rem/1.25 'Space Grotesk', sans-serif; }
.team-card { margin-top: 28px; padding: 24px; border: var(--line); background: #f3e3f6; }
.team-card p { margin: 0 0 8px; }
.team-placeholder { margin-top: 16px; padding: 14px 16px; border: 1px dashed var(--ink); background: rgba(255,255,255,.6); font-weight: 700; }
.project-cta { padding-bottom: 30px; }
.cta-strip__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.next-project { padding: 0 0 70px; }
.next-project__inner { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 24px 0; border-top: var(--line); }
.next-project a { font: 700 1.45rem 'Space Grotesk', sans-serif; text-decoration: none; }
.project-not-found { padding: 90px 0; }
.project-not-found__inner { padding: 40px 34px; border: var(--line); background: var(--white); box-shadow: var(--shadow); }
.project-not-found__inner h1 { margin: 0 0 14px; font: 700 clamp(2rem, 4vw, 2.8rem)/1.05 'Space Grotesk', sans-serif; }
.project-not-found__inner p { margin-bottom: 22px; }

/* Responsive navigation and layouts */
@media (max-width: 820px) {
    .site-header__inner { min-height: 74px; }
    .nav-toggle { display: block; position: relative; z-index: 2; }
    .primary-nav { display: none; position: fixed; inset: 74px 0 0; padding: 35px 20px; background: var(--paper); border-top: var(--line); }
    .nav-open .primary-nav { display: block; }
    .primary-nav ul { align-items: stretch; flex-direction: column; gap: 0; }
    .primary-nav li { border-bottom: 1px solid var(--ink); }
    .primary-nav a { display: block; padding: 19px 5px; font: 700 1.45rem 'Space Grotesk', sans-serif; }
    .primary-nav a::after { display: none; }
    .nav-cta { margin-top: 20px; padding-inline: 18px !important; text-align: center; }
    .nav-open .nav-toggle > span:nth-of-type(2) { transform: translateY(7px) rotate(45deg); }
    .nav-open .nav-toggle > span:nth-of-type(3) { opacity: 0; }
    .nav-open .nav-toggle > span:nth-of-type(4) { transform: translateY(-7px) rotate(-45deg); }
    .hero { padding-top: 55px; }
    .hero__grid { grid-template-columns: 1fr; gap: 45px; }
    .hero__visual { min-height: 400px; width: min(100%, 440px); margin-inline: auto; }
    .hero__stat-strip { gap: 10px; }
    .hero__stat-strip > div { flex: 1 1 calc(50% - 10px); min-width: 0; }
    .section-heading, .section-heading--compact, .community-section__inner, .spotlight-section__inner, .pitch-panel__inner { grid-template-columns: 1fr; }
    .milestone-timeline, .showcase-grid { grid-template-columns: 1fr; }
    .journey__steps { grid-template-columns: 1fr; }
    .journey__step { min-height: 210px; }
    .journey__step + .journey__step { border-left: 0; border-top: var(--line); }
    .site-footer__grid, .site-footer__bottom { flex-direction: column; }
    .site-footer ul { align-items: flex-start; flex-direction: column; gap: 12px; }
    .project-hero__content, .project-section__inner, .impact-grid, .facts-strip__inner { grid-template-columns: 1fr; }
    .project-hero__content { gap: 28px; }
    .facts-strip__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .solution-grid, .features-grid, .roles-grid { grid-template-columns: 1fr; }
    .feature-block--large { grid-column: span 1; }
    .process-step { grid-template-columns: 1fr; }
    .project-hero { padding-top: 60px; }
    .project-section { padding: 54px 0; }
    .submission-grid, .about-story__grid, .explore-insight__inner { grid-template-columns: 1fr; }
    .form-row, .about-values__grid { grid-template-columns: 1fr; }
    .about-cta__inner { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 520px) {
    .container { width: min(calc(100% - 28px), var(--container)); }
    .brand__mark { width: 40px; height: 40px; }
    .brand__name { font-size: 1.08rem; }
    .hero { min-height: auto; padding: 42px 0 70px; }
    .announcement { font-size: .66rem; }
    .hero h1 { font-size: clamp(3rem, 15vw, 4.4rem); }
    .hero__intro { font-size: 1rem; }
    .hero__actions { flex-direction: column; }
    .button { width: 100%; }
    .hero__visual { min-height: 340px; }
    .idea-card--main { inset: 10px 8px 25px 15px; }
    .idea-card--main strong { font-size: 3.5rem; }
    .idea-card--note { right: -3px; }
    .journey { padding: 75px 0 85px; }
    .launch-strip__inner { padding-block: 24px; align-items: flex-start; flex-direction: column; }
    .page-hero { padding: 80px 0 95px; }
    .project-hero__topbar, .next-project__inner, .cta-strip__inner { flex-direction: column; align-items: flex-start; }
    .facts-strip__inner { grid-template-columns: 1fr; }
    .project-section__inner { padding: 24px; }
    .project-hero__actions, .cta-strip__actions, .form-actions { flex-direction: column; align-items: stretch; }
    .about-story__copy, .about-story__panel, .about-card, .about-cta__inner, .project-quote__inner { padding: 24px; }
    .button { width: 100%; }
    .submission-card { padding: 24px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* ================================================================
   Concept v1.1 alignment — locked HubInovasi brand system
   Hot Magenta + Tangerine / Space Grotesk + Inter
   ================================================================ */
:root {
    --ink: #111111;
    --paper: #faf7f2;
    --white: #ffffff;
    --neutral: #e8e3dc;
    --magenta: #e6007e;
    --magenta-dark: #bd0068;
    --tangerine: #ff6b00;
    /* Compatibility aliases for components created before v1.1. */
    --violet: var(--magenta);
    --violet-dark: var(--magenta);
    --lime: var(--magenta);
    --coral: var(--tangerine);
    --sky: #f5ddea;
    --line: 1px solid var(--neutral);
    --shadow: 0 12px 34px rgba(17, 17, 17, .08);
}

body { background: var(--paper); font-family: 'Inter', Arial, sans-serif; }
button, input, select, textarea { font-family: 'Inter', Arial, sans-serif !important; }

.site-header { background: rgba(250, 247, 242, .97); }
.brand__mark {
    background: var(--magenta);
    border: 0;
    border-radius: 12px;
    transform: none;
}
.brand__mark span, .brand__name span { color: var(--magenta); }
.brand__name small { color: var(--tangerine); }
.primary-nav a { font-weight: 600; }
.primary-nav a:hover, .primary-nav a:focus-visible { color: var(--magenta); }
.primary-nav a:not(.nav-cta)::after { height: 2px; background: var(--magenta); }
.nav-cta {
    padding: 10px 17px;
    background: var(--magenta);
    border: 0;
    border-radius: 6px;
    box-shadow: none;
    color: white;
}
.nav-cta:hover, .nav-cta:focus-visible {
    background: var(--magenta-dark);
    box-shadow: none;
    color: white;
    transform: translateY(-1px);
}
.nav-toggle { background: white; border-radius: 6px; box-shadow: none; }
.nav-toggle:hover, .nav-toggle:focus-visible { box-shadow: 0 5px 15px rgba(17, 17, 17, .08); }

.hero {
    padding-block: 88px 104px;
    background: var(--paper);
}
.hero::before { background: radial-gradient(circle, rgba(230, 0, 126, .1), transparent 70%); }
.announcement { border-color: var(--neutral); font-weight: 600; }
.announcement span { color: var(--tangerine); }
.eyebrow { color: var(--magenta); font-weight: 700; letter-spacing: .14em; }
.hero h1, .page-hero h1 { font-size: clamp(3.35rem, 6.2vw, 5.25rem); line-height: .95; }
.hero h1 span { color: var(--magenta); }
.hero h1 span::after { display: none; }
.hero__stat-strip > div {
    border-color: var(--neutral);
    border-radius: 6px;
    box-shadow: none;
}
.hero__stat-strip strong { color: var(--magenta); }
.button {
    border: 1px solid transparent;
    border-radius: 6px;
    box-shadow: none;
    font-weight: 600;
}
.button:hover, .button:focus-visible { box-shadow: none; transform: translateY(-2px); }
.button--primary { background: var(--magenta); color: white; box-shadow: 0 8px 20px rgba(230, 0, 126, .18); }
.button--primary:hover, .button--primary:focus-visible { background: var(--magenta-dark); }
.button--secondary { border-color: var(--neutral); }

.idea-card { border-color: var(--neutral); }
.idea-card--main {
    padding: 32px;
    background: white;
    border-top: 6px solid var(--magenta);
    border-radius: 12px;
    color: var(--ink);
    transform: none;
}
.idea-card--main strong { font-size: clamp(2.6rem, 4.5vw, 4.4rem); line-height: .93; }
.idea-card--main em { color: var(--magenta); font-style: normal; }
.idea-card__number { color: var(--magenta); border: 0; font: 600 .72rem 'Inter', sans-serif; letter-spacing: .14em; }
.idea-card__icon { align-self: flex-end; color: var(--tangerine); }
.idea-card--note {
    background: var(--tangerine);
    border: 0;
    border-radius: 6px;
    box-shadow: 0 10px 25px rgba(17, 17, 17, .12);
    color: white;
    transform: none;
}
.hero__decoration--circle { background: transparent; border: 18px solid rgba(230, 0, 126, .1); }
.hero__decoration--spark { color: var(--tangerine); }

.journey__step, .journey__step--problem, .journey__step--solution, .journey__step--impact { background: white; }
.journey__number { color: var(--magenta); }
.journey__step--solution .journey__number { color: var(--tangerine); }
.launch-strip { background: var(--tangerine); border: 0; box-shadow: none; color: white; }
.launch-strip a { border: 0; border-radius: 6px; box-shadow: none; color: var(--ink); }
.launch-strip a:hover, .launch-strip a:focus-visible { box-shadow: none; transform: translateY(-2px); }

/* Neutral surfaces keep brand colour meaningful instead of decorative. */
.milestone-section__inner,
.spotlight-section__inner,
.community-section__inner,
.pitch-panel,
.showcase-card,
.explore-toolbar__inner,
.explore-insight__inner,
.about-story__copy,
.about-cta__inner,
.submission-card { box-shadow: var(--shadow); }
.milestone-section__inner,
.spotlight-section__inner,
.community-section__inner,
.explore-insight__inner,
.about-cta__inner { background: white; }
.milestone-item--accent, .spotlight-card--accent { background: #fff4ec; }
.showcase-card--highlight { background: #fff4f9; }
.page-hero, .page-hero--explore, .page-hero--about { background: var(--paper); }
.page-hero--accent { background: #fff4ec; }

.project-card { border-color: var(--neutral); box-shadow: var(--shadow); }
.project-card:hover, .project-card:focus-within {
    border-color: var(--neutral);
    box-shadow: 0 18px 40px rgba(17, 17, 17, .12);
    transform: translateY(-5px);
}
.project-card__tags li { background: #f2efeb; font-weight: 600; }
.project-card__link { background: var(--magenta); border: 0; border-radius: 5px; font-weight: 600; }
.project-card__link:hover, .project-card__link:focus-visible { background: var(--magenta-dark); box-shadow: none; }
.filter-chip { border-color: var(--neutral); border-radius: 999px; font-weight: 600; }
.filter-chip.is-active { background: var(--magenta); color: white; }
.filter-chip:hover, .filter-chip:focus-visible { box-shadow: none; transform: translateY(-1px); }
.search-field input:focus, .form-field input:focus, .form-field textarea:focus, .form-field select:focus { outline-color: rgba(230, 0, 126, .28); }
.form-check input { accent-color: var(--magenta); }

@media (max-width: 820px) {
    .primary-nav { background: var(--paper); }
    .nav-cta { color: white; }
}

@media (max-width: 520px) {
    .hero { padding-block: 48px 74px; }
    .hero h1 { font-size: clamp(2.8rem, 13vw, 4rem); }
    .idea-card--main strong { font-size: 3rem; }
}

/* Checkpoint 02 — locked public journey pages */
.primary-nav ul { gap: clamp(16px, 2vw, 30px); }
.primary-nav a { font-size: .86rem; }
.site-footer__grid nav { max-width: 650px; }
.site-footer__grid nav ul { flex-wrap: wrap; justify-content: flex-end; row-gap: 14px; }

.page-hero h1 span, .profile-hero h1 span { color: var(--magenta); }
.page-hero--areas { background: var(--paper); }
.page-hero--impact { background: #fff4ec; }

.area-directory, .impact-framework, .profile-blueprint { padding: 96px 0; background: white; }
.area-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.area-card {
    display: flex;
    flex-direction: column;
    min-height: 430px;
    padding: 28px;
    background: white;
    border: var(--line);
    border-top: 5px solid var(--magenta);
    border-radius: 10px;
    box-shadow: var(--shadow);
}
.area-card:nth-child(2) { border-top-color: var(--tangerine); }
.area-card__topline { display: flex; justify-content: space-between; color: #68635e; font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.area-card h2 { margin: 42px 0 12px; font: 700 2rem/1 'Space Grotesk', sans-serif; letter-spacing: -.045em; }
.area-card > p { margin: 0; }
.area-card__projects { margin: auto 0 0; padding: 30px 0 0; list-style: none; }
.area-card__projects li { border-top: var(--line); }
.area-card__projects a { display: flex; justify-content: space-between; gap: 15px; padding: 13px 0; font-weight: 600; text-decoration: none; }
.area-card__projects a:hover { color: var(--magenta); }

.evidence-grid, .profile-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.evidence-grid article, .profile-fields article { padding: 28px; background: white; border: var(--line); border-radius: 8px; }
.evidence-grid article { min-height: 260px; }
.evidence-grid article > span { color: var(--magenta); font: 700 .8rem 'Inter', sans-serif; letter-spacing: .12em; }
.evidence-grid article:nth-child(2) > span { color: var(--tangerine); }
.evidence-grid h3, .profile-fields h3 { margin: 55px 0 10px; font: 700 1.55rem 'Space Grotesk', sans-serif; letter-spacing: -.035em; }
.evidence-grid p, .profile-fields p { margin: 0; }
.opportunity-board { padding: 0 0 96px; background: white; }
.opportunity-board__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; padding: 44px; background: var(--paper); border: var(--line); border-left: 6px solid var(--tangerine); border-radius: 8px; }
.opportunity-board h2 { margin: 0; font: 700 clamp(1.8rem, 3vw, 2.5rem)/1.05 'Space Grotesk', sans-serif; letter-spacing: -.045em; }
.opportunity-board__inner > p { margin: 0; }

.profile-hero { padding: 100px 0; background: var(--paper); border-bottom: var(--line); }
.profile-hero--mentor { background: #fff4ec; }
.profile-hero__inner { display: grid; grid-template-columns: 170px 1fr; gap: 55px; align-items: center; }
.profile-hero__mark { display: grid; place-items: center; width: 160px; aspect-ratio: 1; background: var(--magenta); border-radius: 50%; color: white; font: 700 3.5rem 'Space Grotesk', sans-serif; }
.profile-hero--mentor .profile-hero__mark { background: var(--tangerine); }
.profile-hero h1 { max-width: 900px; margin: 0; font: 700 clamp(3rem, 5.5vw, 5rem)/.96 'Space Grotesk', sans-serif; letter-spacing: -.06em; }
.profile-hero p:last-child { max-width: 700px; margin: 26px 0 0; font-size: 1.08rem; }
.profile-fields article { min-height: 220px; border-top: 4px solid var(--neutral); }
.profile-fields article:first-child { border-top-color: var(--magenta); }
.profile-fields article:nth-child(2) { border-top-color: var(--tangerine); }
.profile-fields h3 { margin-top: 35px; }

@media (max-width: 1020px) {
    .primary-nav ul { gap: 14px; }
    .primary-nav a { font-size: .78rem; }
}

@media (max-width: 820px) {
    .area-grid, .evidence-grid, .profile-fields { grid-template-columns: 1fr; }
    .area-card { min-height: 350px; }
    .opportunity-board__inner { grid-template-columns: 1fr; gap: 20px; padding: 30px; }
    .profile-hero__inner { grid-template-columns: 1fr; gap: 30px; }
    .profile-hero__mark { width: 110px; }
    .site-footer__grid nav ul { justify-content: flex-start; }
}

@media (max-width: 520px) {
    .area-directory, .impact-framework, .profile-blueprint { padding: 72px 0; }
    .profile-hero { padding: 74px 0; }
    .profile-hero h1 { font-size: 2.8rem; }
}

/* Checkpoint 03 — homepage launchpad and featured product story */
.hero__facts { display: flex; gap: 36px; margin: 38px 0 0; }
.hero__facts div { display: flex; flex-direction: column-reverse; }
.hero__facts dt { color: #68635e; font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.hero__facts dd { margin: 0; color: var(--magenta); font: 700 1.75rem 'Space Grotesk', sans-serif; }

.home-feature { padding: 104px 0; background: white; }
.feature-pitch { display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; background: #f7fbfa; border: var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.feature-pitch__copy { padding: clamp(32px, 5vw, 64px); }
.feature-pitch__category { margin: 0 0 32px; color: var(--magenta); font-size: .75rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.feature-pitch h3 { margin: 0; font: 700 clamp(3.2rem, 6vw, 5.7rem)/.9 'Space Grotesk', sans-serif; letter-spacing: -.06em; }
.feature-pitch__tagline { max-width: 520px; margin: 18px 0 12px; font: 600 1.25rem/1.25 'Space Grotesk', sans-serif; }
.feature-pitch__copy > p:not([class]) { max-width: 570px; }
.feature-pitch__copy .button { margin-top: 18px; }
.feature-pitch__visual { display: grid; place-content: center; gap: 18px; min-height: 480px; padding: 45px; background: #286e68; color: white; text-align: center; }
.feature-pitch__visual span { padding: 16px 24px; border: 1px solid rgba(255, 255, 255, .48); border-radius: 999px; font-weight: 600; letter-spacing: .08em; }
.feature-pitch__visual strong { color: #f4d166; font-size: 2rem; transform: rotate(90deg); }

.home-areas { padding: 104px 0; background: var(--paper); border-block: var(--line); }
.home-areas__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: center; }
.home-areas h2, .people-impact h2, .competition-callout h2 { margin: 0; font: 700 clamp(2.3rem, 4.5vw, 4rem)/1 'Space Grotesk', sans-serif; letter-spacing: -.055em; }
.home-areas__grid > div > p:not(.eyebrow) { max-width: 530px; margin: 20px 0; }
.home-areas__grid > div > a { color: var(--magenta); font-weight: 600; text-underline-offset: 5px; }
.home-areas__list { margin: 0; padding: 0; list-style: none; border-top: var(--line); }
.home-areas__list li { display: grid; grid-template-columns: 55px 1fr; gap: 20px; align-items: center; min-height: 100px; border-bottom: var(--line); }
.home-areas__list span { color: var(--tangerine); font-size: .75rem; font-weight: 700; }
.home-areas__list strong { font: 600 clamp(1.25rem, 2.5vw, 2rem) 'Space Grotesk', sans-serif; }

.people-impact { padding: 104px 0; background: white; }
.people-impact__grid { display: grid; grid-template-columns: 1fr .8fr; gap: 80px; align-items: end; }
.people-impact__statement > p:last-child { max-width: 650px; margin: 24px 0 0; }
.people-impact__links { border-top: var(--line); }
.people-impact__links a { display: flex; justify-content: space-between; gap: 20px; padding: 22px 0; border-bottom: var(--line); font: 600 1.3rem 'Space Grotesk', sans-serif; text-decoration: none; }
.people-impact__links a:hover { color: var(--magenta); }

.competition-callout { padding: 90px 0; background: var(--tangerine); color: white; }
.competition-callout__inner { display: grid; grid-template-columns: 1.2fr .75fr auto; gap: 45px; align-items: center; }
.competition-callout .eyebrow { color: white; }
.competition-callout p:not(.eyebrow) { margin: 0; }

@media (max-width: 820px) {
    .feature-pitch, .home-areas__grid, .people-impact__grid, .competition-callout__inner { grid-template-columns: 1fr; }
    .feature-pitch__visual { min-height: 380px; }
    .home-areas__grid, .people-impact__grid { gap: 50px; }
    .competition-callout__inner { gap: 25px; }
    .competition-callout .button { justify-self: start; }
}

@media (max-width: 520px) {
    .hero__facts { gap: 24px; }
    .home-feature, .home-areas, .people-impact { padding: 76px 0; }
    .feature-pitch__visual { min-height: 330px; padding: 30px; }
    .competition-callout { padding: 72px 0; }
}

/* Checkpoint 04 — local Pitch Builder */
.demo-notice { background: #fff4ec; border-block: var(--line); }
.demo-notice__inner { display: flex; gap: 18px; align-items: baseline; padding-block: 18px; }
.demo-notice strong { flex: 0 0 auto; color: var(--tangerine); }
.demo-notice p { margin: 0; font-size: .92rem; }
.submission-section { padding: 90px 0 110px; }
.submission-layout { display: grid; grid-template-columns: .68fr 1.32fr; gap: 34px; align-items: start; }
.pitch-guide { position: sticky; top: 24px; padding: 32px; background: var(--ink); border-radius: 10px; color: white; }
.pitch-guide h2 { margin: 0; font: 700 2rem/1.05 'Space Grotesk', sans-serif; letter-spacing: -.045em; }
.pitch-guide ol { margin: 30px 0; padding: 0; list-style: none; border-top: 1px solid #414141; }
.pitch-guide li { display: grid; grid-template-columns: 42px 1fr; padding: 13px 0; border-bottom: 1px solid #414141; font-size: .9rem; font-weight: 600; }
.pitch-guide li span { color: var(--tangerine); }
.pitch-guide__tip { margin: 0; color: #d2d2d2; font-size: .86rem; }
.pitch-form { display: grid; gap: 20px; }
.form-section { margin: 0; padding: clamp(24px, 4vw, 38px); background: white; border: var(--line); border-radius: 10px; box-shadow: var(--shadow); }
.form-section legend { padding: 0 12px 0 0; font: 700 1.35rem 'Space Grotesk', sans-serif; }
.form-section legend span { margin-right: 8px; color: var(--magenta); font-size: .75rem; letter-spacing: .1em; }
.form-field { font-weight: 600; }
.form-field span em, .form-check em { color: var(--magenta); font-style: normal; }
.form-field small { color: #6d6863; font-size: .78rem; font-weight: 400; }
.form-field input, .form-field textarea, .form-field select { border-color: var(--neutral); border-radius: 5px; background: #fdfcf9; font-weight: 400; }
.form-field input:focus, .form-field textarea:focus, .form-field select:focus { border-color: var(--magenta); outline: 3px solid rgba(230, 0, 126, .13); }
.form-check { padding: 18px 20px; background: #fff4f9; border: 1px solid #f1c6dd; border-radius: 6px; font-weight: 500; }
.form-message[hidden] { display: none; }
.form-message { margin: 0; background: #edf8f5; border: 1px solid #bcded5; border-radius: 6px; }
.form-message--error { background: #fff0ed; border-color: #f0c2b9; }
.pitch-preview { padding: 100px 0; background: var(--paper); border-top: var(--line); scroll-margin-top: 30px; }
.pitch-preview[hidden] { display: none; }
.pitch-preview__inner { display: grid; grid-template-columns: .65fr 1.35fr; gap: 60px; align-items: start; }
.pitch-preview__heading h2 { margin: 0; font: 700 clamp(2.3rem, 4vw, 3.5rem)/1 'Space Grotesk', sans-serif; letter-spacing: -.05em; }
.pitch-preview__story { overflow: hidden; background: white; border: var(--line); border-radius: 10px; box-shadow: var(--shadow); }
.pitch-preview__story header { padding: 36px; border-top: 6px solid var(--magenta); }
.pitch-preview__story header > p:first-child { margin: 0 0 18px; color: var(--magenta); font-size: .75rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.pitch-preview__story h3 { margin: 0; font: 700 clamp(2.5rem, 5vw, 4rem)/.95 'Space Grotesk', sans-serif; letter-spacing: -.055em; }
.pitch-preview__story header > p:last-child { margin: 14px 0 0; font-weight: 600; }
.pitch-preview__story article { display: grid; grid-template-columns: 45px 1fr; gap: 15px; padding: 25px 36px; border-top: var(--line); }
.pitch-preview__story article > span { color: var(--tangerine); font-size: .75rem; font-weight: 700; }
.pitch-preview__story h4 { margin: 0 0 7px; font: 600 1.1rem 'Space Grotesk', sans-serif; }
.pitch-preview__story article p { margin: 0; white-space: pre-line; }
.pitch-preview__story article small { display: block; margin-top: 10px; color: #6d6863; }
.pitch-preview__story article[hidden] { display: none; }
.pitch-preview__story .pitch-preview__cta { background: #fff4f9; border-left: 5px solid var(--magenta); }
.pitch-preview__story .pitch-preview__cta h4, .pitch-preview__story .pitch-preview__cta p { color: var(--magenta); }
.pitch-preview__notice { grid-column: 2; margin: -35px 0 0; color: #6d6863; font-size: .82rem; }

@media (max-width: 820px) {
    .submission-layout, .pitch-preview__inner { grid-template-columns: 1fr; }
    .pitch-guide { position: static; }
    .pitch-preview__notice { grid-column: 1; margin: 0; }
}

@media (max-width: 520px) {
    .demo-notice__inner { align-items: flex-start; flex-direction: column; gap: 4px; }
    .submission-section, .pitch-preview { padding-block: 72px; }
    .form-section { padding: 22px; }
    .pitch-preview__story header, .pitch-preview__story article { padding-inline: 24px; }
}

/* CP10A/CP10B — adaptive submission builder */
.submission-stepper { position: sticky; top: 24px; overflow: hidden; background: var(--ink); border-radius: 10px; color: white; }
.submission-stepper > .eyebrow, .submission-stepper > h2, .submission-stepper__status { margin-inline: 28px; }
.submission-stepper > .eyebrow { margin-top: 28px; }
.submission-stepper > h2 { margin-top: 0; font: 700 1.7rem/1.08 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
.submission-stepper ol { margin: 24px 0 0; padding: 0; list-style: none; border-top: 1px solid #414141; }
.submission-stepper li + li { border-top: 1px solid #414141; }
.submission-stepper button { display: grid; grid-template-columns: 38px 1fr; width: 100%; padding: 13px 28px; border: 0; background: transparent; color: #e4e1dd; text-align: left; cursor: pointer; }
.submission-stepper button:hover, .submission-stepper button:focus-visible { background: #2b2b31; color: white; }
.submission-stepper button[aria-current="step"] { background: var(--magenta); color: white; }
.submission-stepper button span:first-child { color: var(--tangerine); font-size: .72rem; font-weight: 700; letter-spacing: .08em; }
.submission-stepper button[aria-current="step"] span:first-child { color: white; }
.submission-stepper button span:last-child { font-size: .82rem; font-weight: 600; line-height: 1.35; }
.submission-stepper__status { margin-block: 18px 24px; color: #d2d2d2; font-size: .8rem; }
.submission-step[hidden] { display: none; }
.submission-step { scroll-margin-top: 24px; }
.submission-step__intro { margin: 0 0 24px; color: #68635e; }
.adaptive-form-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; padding: 18px; background: #f3efe9; border: var(--line); border-radius: 8px; }
.adaptive-form-actions #submission-previous { margin-right: auto; }
.adaptive-form-actions button[hidden] { display: none; }
.cp10b-notice { margin-bottom: 24px; padding: 18px 20px; background: #fff8df; border: 1px solid #e8d58f; border-radius: 7px; }
.cp10b-notice strong { color: #7a5a00; }
.cp10b-notice p { margin: 5px 0 0; font-size: .9rem; }
.adaptive-category-notice { margin-bottom: 24px; padding: 18px 20px; background: #edf8f5; border: 1px solid #bcded5; border-radius: 7px; }
.adaptive-category-notice strong { color: #176654; }
.adaptive-category-notice p { margin: 5px 0 0; font-size: .9rem; }
.adaptive-category-empty { padding: 28px; background: #f8f5f0; border: 1px dashed #b8b1aa; border-radius: 8px; text-align: center; }
.adaptive-category-empty[hidden], .adaptive-category-panel[hidden], .submission-review--category[hidden] { display: none; }
.adaptive-category-empty p { margin: 0 0 16px; }
.adaptive-category-panel { display: grid; gap: 20px; }
.adaptive-category-panel header { padding-bottom: 18px; border-bottom: var(--line); }
.adaptive-category-panel header .eyebrow { margin-bottom: 7px; }
.adaptive-category-panel header h2, .submission-review-adaptive h2 { margin: 0; font: 700 1.25rem 'Space Grotesk', sans-serif; }
.submission-review-adaptive { margin-top: 30px; }
.submission-review-adaptive > h2 { margin-bottom: 14px; }
.repeatable-section { margin-top: 30px; padding-top: 28px; border-top: var(--line); }
.repeatable-section > header { display: flex; justify-content: space-between; gap: 24px; align-items: start; margin-bottom: 18px; }
.repeatable-section > header h2 { margin: 0; font: 700 1.25rem 'Space Grotesk', sans-serif; }
.repeatable-section > header p:last-child { margin: 6px 0 0; color: #68635e; font-size: .88rem; }
.repeatable-list { display: grid; gap: 16px; }
.repeatable-row { display: grid; gap: 16px; padding: 20px; background: #faf8f4; border: 1px solid #d7d1ca; border-radius: 8px; }
.repeatable-row__heading { display: flex; justify-content: space-between; align-items: center; padding-bottom: 10px; border-bottom: 1px solid #dfdad3; }
.repeatable-row__heading button { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 1px solid #d1c9c1; border-radius: 50%; background: white; color: #8a3636; font-size: 1.3rem; cursor: pointer; }
.repeatable-row__heading button:hover, .repeatable-row__heading button:focus-visible { border-color: #8a3636; background: #fff0ed; }
.submission-review-impact { margin: 30px 0 24px; }
.submission-review-impact > h2 { margin: 0 0 14px; font: 700 1.25rem 'Space Grotesk', sans-serif; }
.submission-review-impact { display: grid; gap: 12px; }
.submission-review-impact section { padding: 16px 18px; border: var(--line); border-radius: 8px; }
.submission-review-impact h3 { margin: 0; font: 700 1rem 'Space Grotesk', sans-serif; }
.submission-review-impact ul { margin: 10px 0 0; padding-left: 20px; }
.people-editor { margin-top: 30px; padding-top: 28px; border-top: var(--line); }
.people-editor > header { display: flex; justify-content: space-between; gap: 24px; align-items: start; margin-bottom: 18px; }
.people-editor > header h2 { margin: 0; font: 700 1.25rem 'Space Grotesk', sans-serif; }
.people-editor > header p:last-child { margin: 6px 0 0; color: #68635e; font-size: .88rem; }
.people-editor__list { display: grid; gap: 18px; }
.person-editor-card { overflow: hidden; border: 1px solid #d7d1ca; border-radius: 9px; background: #faf8f4; }
.person-editor-card__toolbar { display: flex; justify-content: space-between; align-items: center; padding: 12px 18px; background: #eee9e3; border-bottom: 1px solid #d7d1ca; }
.person-editor-card__toolbar > div { display: flex; gap: 7px; }
.person-editor-card__toolbar button { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 1px solid #c8c0b8; border-radius: 50%; background: white; cursor: pointer; }
.person-editor-card__toolbar button:last-child { color: #8a3636; font-size: 1.2rem; }
.person-editor-card__layout { display: grid; grid-template-columns: 180px 1fr; gap: 24px; padding: 20px; }
.person-editor-card__fields { display: grid; gap: 16px; }
.profile-photo-editor { display: grid; gap: 12px; align-content: start; }
.profile-photo-editor__preview { overflow: hidden; display: grid; place-items: center; width: 150px; max-width: 100%; aspect-ratio: 1; border: 1px dashed #aaa198; border-radius: 10px; background: #eee9e3; color: #817970; font-size: 2rem; }
.profile-photo-editor__preview img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.profile-photo-editor input[type="file"] { width: 100%; padding: 8px; font-size: .76rem; }
.form-check--compact { padding: 10px 12px; font-size: .8rem; }
.submission-review-people { display: grid; gap: 12px; margin: 30px 0 24px; }
.submission-review-people > h2 { margin: 0; font: 700 1.25rem 'Space Grotesk', sans-serif; }
.submission-review-people section { padding: 16px 18px; border: var(--line); border-radius: 8px; }
.submission-review-people h3 { margin: 0; font: 700 1rem 'Space Grotesk', sans-serif; }
.submission-review-people ul { margin: 10px 0 0; padding-left: 20px; }
.mentoring-editor { margin-top: 26px; }
.mentoring-editor > header { display: flex; justify-content: space-between; gap: 24px; align-items: start; margin-bottom: 18px; }
.mentoring-editor > header h2 { margin: 0; font: 700 1.25rem 'Space Grotesk', sans-serif; }
.mentoring-editor > header p { margin: 6px 0 0; color: #68635e; font-size: .88rem; }
.mentoring-editor__empty { padding: 22px; background: #f8f5f0; border: 1px dashed #b8b1aa; border-radius: 8px; text-align: center; }
.mentoring-editor__empty[hidden] { display: none; }
.mentoring-editor__empty p { margin: 0; }
.mentoring-editor__list { display: grid; gap: 16px; }
.mentoring-card { display: grid; gap: 16px; padding: 20px; background: #faf8f4; border: 1px solid #d7d1ca; border-radius: 8px; }
.mentoring-card__heading { display: flex; justify-content: space-between; align-items: center; padding-bottom: 10px; border-bottom: 1px solid #dfdad3; }
.mentoring-card__heading button { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 1px solid #c8c0b8; border-radius: 50%; background: white; color: #8a3636; font-size: 1.2rem; cursor: pointer; }
.submission-review-mentoring { margin: 30px 0 24px; padding: 18px; border: var(--line); border-radius: 8px; }
.submission-review-mentoring h2 { margin: 0; font: 700 1.25rem 'Space Grotesk', sans-serif; }
.submission-review-mentoring ul { margin: 10px 0 0; padding-left: 20px; }
.published-people { display: grid; gap: 12px; margin-top: 18px; }
.published-person { display: grid; grid-template-columns: 64px 1fr; gap: 14px; align-items: center; padding: 14px; border: 1px solid #ddd5cd; border-radius: 8px; background: #faf8f4; }
.published-person:not(:has(img)) { grid-template-columns: 1fr; }
.published-person--leader { border-color: var(--magenta); background: #fff4f9; }
.published-person img { width: 64px; height: 64px; object-fit: cover; border-radius: 50%; }
.published-person div { display: grid; gap: 3px; }
.published-person div > span { color: var(--magenta); font-size: .68rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.published-person strong { font-size: .95rem; }
.published-person small { color: #68635e; }
.published-person p { margin: 2px 0 0; font-size: .84rem; }
.media-builder-card { display: grid; gap: 20px; margin: 22px 0; padding: 24px; border: 1px solid #ddd5cd; border-radius: 12px; background: #fff; }
.media-builder-card > header { display: grid; grid-template-columns: 42px 1fr; gap: 12px; align-items: start; }
.media-builder-card > header > span { font-size: 1.7rem; line-height: 1; }
.media-builder-card h2, .media-builder-card header p { margin: 0; }
.media-builder-card header p { margin-top: 5px; color: var(--muted); font-size: .88rem; }
.media-builder-card--gallery { border-top: 5px solid var(--magenta); }
.media-builder-card--problem-visual { border-top: 5px solid #d44b57; }
.media-builder-card--solution-visual { border-top: 5px solid #258b78; }
.media-builder-card--poster { border-top: 5px solid #7157a8; }
.media-builder-card--video { border-top: 5px solid var(--tangerine); }
.media-builder-card--journey { border-top: 5px solid var(--neutral); }
.gallery-dropzone { display: grid; place-items: center; gap: 6px; padding: 24px; border: 2px dashed #bbb1a8; border-radius: 10px; background: #faf7f2; text-align: center; cursor: pointer; }
.gallery-dropzone span { color: var(--muted); font-size: .8rem; }
.gallery-dropzone input { max-width: 100%; margin-top: 8px; }
.gallery-editor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.gallery-editor-card { overflow: hidden; border: 1px solid #d9d0c8; border-radius: 10px; background: #faf8f4; }
.gallery-editor-card.is-dragging, .journey-editor-card.is-dragging { opacity: .45; }
.gallery-editor-card__image { aspect-ratio: 16 / 10; background: #e8e2dc; }
.gallery-editor-card__image img { width: 100%; height: 100%; object-fit: cover; }
.gallery-editor-card__body { display: flex; align-items: center; gap: 10px; padding: 10px; }
.gallery-caption { margin: 0; padding: 0 10px 12px; }
.gallery-drag-handle { cursor: grab; user-select: none; font-size: 1.2rem; }
.gallery-replace { margin-left: auto; font-size: .72rem; font-weight: 700; cursor: pointer; }
.gallery-replace input { display: block; width: 120px; margin-top: 3px; font-size: .65rem; }
.gallery-empty, .journey-empty { margin: 0; padding: 14px; border-radius: 8px; background: #f4f0eb; color: var(--muted); text-align: center; }
.journey-editor { display: grid; gap: 12px; }
.journey-editor-card { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 12px; padding: 16px; border: 1px solid #ddd5cd; border-radius: 10px; background: #faf8f4; }
.journey-editor-card__toolbar { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; }
.submission-review-media { margin-top: 28px; }
.submission-review-media > section { padding: 12px 0; border-top: 1px solid #ddd5cd; }
.submission-review-media h3, .submission-review-media p { margin: 0 0 5px; }
.admin-media-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.admin-media-gallery figure { margin: 0; }
.admin-media-gallery img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 8px; }
.admin-media-gallery figcaption { margin-top: 5px; font-size: .75rem; }
.published-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.published-gallery figure { margin: 0; }
.published-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; }
.published-gallery figure:first-child { grid-column: span 2; grid-row: span 2; }
.published-gallery-video { margin-top: 16px; }
@media (max-width: 680px) { .gallery-editor, .journey-editor-card, .admin-media-gallery, .published-gallery { grid-template-columns: 1fr; } .published-gallery figure:first-child { grid-column: auto; grid-row: auto; } .gallery-editor-card__body { flex-wrap: wrap; } }
.submission-step :disabled { cursor: not-allowed; opacity: .62; }
.person-shell { display: grid; grid-template-columns: 120px 1fr; gap: 22px; align-items: start; margin-bottom: 20px; padding: 20px; border: 1px dashed #b8b1aa; border-radius: 8px; }
.person-shell__photo { display: grid; place-items: center; aspect-ratio: 1; background: #eee9e3; border-radius: 50%; color: #817970; font-size: 2rem; }
.submission-review { display: grid; gap: 0; margin: 0 0 24px; border: var(--line); border-radius: 8px; }
.submission-review div { display: grid; grid-template-columns: minmax(110px, .35fr) 1fr; gap: 18px; padding: 16px 18px; }
.submission-review div + div { border-top: var(--line); }
.submission-review dt { color: #716b65; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.submission-review dd { margin: 0; white-space: pre-line; }
.submission-submit { margin-top: 18px; }

@media (max-width: 820px) {
    .submission-stepper { position: static; }
    .submission-stepper ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .submission-stepper li + li { border-top: 0; }
    .submission-stepper li { border-bottom: 1px solid #414141; }
}

@media (max-width: 520px) {
    .submission-stepper ol { grid-template-columns: 1fr; }
    .person-shell { grid-template-columns: 1fr; }
    .person-shell__photo { width: 96px; }
    .submission-review div { grid-template-columns: 1fr; gap: 4px; }
    .adaptive-form-actions { align-items: stretch; flex-direction: column; }
    .adaptive-form-actions #submission-previous { margin-right: 0; }
    .repeatable-section > header { align-items: stretch; flex-direction: column; }
    .people-editor > header { align-items: stretch; flex-direction: column; }
    .person-editor-card__layout { grid-template-columns: 1fr; }
    .mentoring-editor > header { align-items: stretch; flex-direction: column; }
}

/* CP05 — database workflow and admin review */
.button--text { background: transparent; border-color: transparent; color: var(--magenta); box-shadow: none; }
.project-actions { padding: 80px 0; background: #fff4f9; }
.project-actions__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.project-actions h2 { margin: 0; font: 700 clamp(2rem, 4vw, 3.2rem)/1 'Space Grotesk', sans-serif; letter-spacing: -.05em; }
.project-actions__links { display: flex; flex-wrap: wrap; gap: 12px; }
.team-card--placeholder { border-style: dashed; box-shadow: none; color: #68635e; }

.admin-body { min-height: 100vh; background: var(--paper); }
.admin-login { min-height: 100vh; display: grid; place-items: center; padding: 30px; }
.admin-login__card { width: min(100%, 480px); display: grid; gap: 20px; padding: 40px; background: white; border: var(--line); border-top: 6px solid var(--magenta); border-radius: 10px; box-shadow: var(--shadow); }
.admin-login__card h1 { margin: 0; font: 700 2.7rem/1 'Space Grotesk', sans-serif; letter-spacing: -.05em; }
.admin-login__card > p { margin: 0; }
.admin-login__card > a { color: var(--magenta); font-weight: 600; }
.admin-header { padding: 45px 0; background: var(--ink); color: white; }
.admin-header .container { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.admin-header h1 { margin: 0; font: 700 clamp(2.5rem, 5vw, 4.2rem)/1 'Space Grotesk', sans-serif; }
.admin-header a { color: white; }
.admin-main { padding: 60px 0 100px; }
.admin-summary { display: inline-flex; flex-direction: column; margin: 25px 0; padding: 18px 24px; background: white; border: var(--line); border-radius: 7px; }
.admin-summary strong { color: var(--magenta); font: 700 2rem 'Space Grotesk', sans-serif; }
.admin-summary span { font-size: .78rem; text-transform: uppercase; }
.admin-submissions { display: grid; gap: 22px; }
.admin-submission { padding: 30px; background: white; border: var(--line); border-radius: 9px; box-shadow: var(--shadow); }
.admin-submission > header { display: flex; justify-content: space-between; gap: 25px; }
.admin-submission h2 { margin: 12px 0 3px; font: 700 1.7rem 'Space Grotesk', sans-serif; }
.admin-submission header p { margin: 0; color: #68635e; }
.admin-submission time { color: #68635e; font-size: .8rem; }
.status-badge { display: inline-flex; padding: 5px 9px; background: #eeeae5; border-radius: 999px; font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.status-badge--pending_review { background: #fff0e5; color: #9b4100; }
.status-badge--published { background: #e8f6f1; color: #17644e; }
.status-badge--needs_revision { background: #fff4f9; color: var(--magenta-dark); }
.admin-submission details { margin: 25px 0; border-block: var(--line); }
.admin-submission summary { padding: 15px 0; cursor: pointer; font-weight: 600; }
.admin-pitch { display: grid; gap: 15px; margin: 0 0 20px; }
.admin-pitch div { display: grid; grid-template-columns: 130px 1fr; gap: 20px; }
.admin-pitch dt { color: var(--magenta); font-weight: 600; }
.admin-pitch dd { margin: 0; white-space: pre-line; }
.admin-review-form { display: grid; grid-template-columns: .45fr 1fr auto; gap: 16px; align-items: end; }
.admin-review-form .form-field { margin: 0; }
.admin-empty { padding: 45px; background: white; border: var(--line); text-align: center; }

@media (max-width: 820px) {
    .project-actions__inner, .admin-header .container { align-items: flex-start; flex-direction: column; }
    .admin-review-form { grid-template-columns: 1fr; }
}

/* CP06 — secure editorial admin workspace */
.admin-header { background: var(--paper); color: var(--ink); border-bottom: var(--line); }
.admin-header .eyebrow { color: var(--magenta); }
.admin-header p:last-child { margin: 12px 0 0; color: #68635e; }
.admin-logout { padding: 9px 14px; background: white; border: 1px solid var(--neutral); border-radius: 5px; color: var(--ink); cursor: pointer; font-weight: 600; }
.admin-summary-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 12px; margin-bottom: 30px; }
.admin-summary-card { display: flex; min-height: 125px; flex-direction: column; justify-content: space-between; padding: 20px; background: white; border: var(--line); border-radius: 8px; color: var(--ink); text-decoration: none; }
.admin-summary-card:hover, .admin-summary-card.is-active { border-color: var(--magenta); box-shadow: 0 8px 22px rgba(230,0,126,.08); }
.admin-summary-card strong { color: var(--magenta); font: 700 2.3rem 'Space Grotesk',sans-serif; }
.admin-summary-card span { font-size: .78rem; font-weight: 600; }
.admin-toolbar { display: grid; grid-template-columns: 1fr 240px auto auto; gap: 12px; align-items: end; padding: 24px; background: white; border: var(--line); border-radius: 8px; }
.admin-toolbar .form-field { margin: 0; }
.admin-list-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 50px 0 20px; }
.admin-list-heading h2 { margin: 0; font: 700 2rem 'Space Grotesk',sans-serif; }
.admin-list-heading > span { color: #68635e; font-size: .8rem; }
.admin-submission-row { display: grid; grid-template-columns: 1fr 1.25fr auto; gap: 28px; align-items: center; padding: 25px; background: white; border: var(--line); border-radius: 8px; }
.admin-submission-row__main h2 { margin: 10px 0 4px; font: 700 1.35rem 'Space Grotesk',sans-serif; }
.admin-submission-row__main p { margin: 0; color: #68635e; font-size: .85rem; }
.admin-submission-row dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; }
.admin-submission-row dl div { min-width: 0; }
.admin-submission-row dt { color: #77716b; font-size: .67rem; font-weight: 600; text-transform: uppercase; }
.admin-submission-row dd { margin: 3px 0 0; font-size: .82rem; }
.admin-pagination { display: flex; gap: 8px; justify-content: center; margin-top: 35px; }
.admin-pagination a { display: grid; place-items: center; width: 38px; height: 38px; background: white; border: var(--line); border-radius: 5px; text-decoration: none; }
.admin-pagination a[aria-current='page'] { background: var(--magenta); border-color: var(--magenta); color: white; }
.status-badge--draft { background: #eeeae5; color: #57514b; }
.status-badge--archived { background: #ececec; color: #444; }

.admin-detail-header { padding: 16px 0; background: white; border-bottom: var(--line); }
.admin-detail-header .container { display: flex; align-items: center; justify-content: space-between; }
.admin-detail-header a { color: var(--magenta); font-weight: 600; }
.admin-review { padding: 60px 0 100px; }
.admin-review-hero { display: flex; justify-content: space-between; gap: 30px; align-items: start; padding: 40px; background: white; border: var(--line); border-top: 6px solid var(--magenta); border-radius: 10px 10px 0 0; }
.admin-review-hero h1 { margin: 0; font: 700 clamp(2.5rem,5vw,4.6rem)/.95 'Space Grotesk',sans-serif; letter-spacing: -.055em; }
.admin-review-hero div > p:last-child { margin: 15px 0 0; font-size: 1.05rem; }
.admin-review-meta { display: flex; justify-content: space-between; gap: 30px; padding: 25px 40px; background: #fff4ec; border: var(--line); border-top: 0; }
.admin-review-meta dl { display: flex; flex-wrap: wrap; gap: 28px; margin: 0; }
.admin-review-meta dt { color: #7a5140; font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.admin-review-meta dd { margin: 4px 0 0; font-size: .84rem; }
.admin-review-meta > a { color: var(--magenta); font-weight: 600; }
.admin-review-layout { display: grid; grid-template-columns: 1.35fr .65fr; gap: 24px; margin-top: 25px; align-items: start; }
.admin-pitch-sections { overflow: hidden; background: white; border: var(--line); border-radius: 9px; }
.admin-pitch-sections article { display: grid; grid-template-columns: 50px 1fr; gap: 18px; padding: 30px; border-bottom: var(--line); }
.admin-pitch-sections article:last-child { border-bottom: 0; }
.admin-pitch-sections article > span { color: var(--tangerine); font-size: .72rem; font-weight: 700; }
.admin-pitch-sections h2 { margin: 0 0 9px; font: 700 1.35rem 'Space Grotesk',sans-serif; }
.admin-pitch-sections p { margin: 0; }
.admin-pitch-sections small { display: block; margin-top: 12px; color: #68635e; }
.admin-adaptive-details { display: grid; gap: 14px; margin: 18px 0 0; }
.admin-adaptive-details div { padding-top: 14px; border-top: var(--line); }
.admin-adaptive-details dt { color: #716b65; font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.admin-adaptive-details dd { margin: 5px 0 0; }
.admin-impact-collections { display: grid; gap: 18px; margin-top: 18px; }
.admin-impact-collections section { padding-top: 16px; border-top: var(--line); }
.admin-impact-collections h3 { margin: 0; font: 700 1rem 'Space Grotesk', sans-serif; }
.admin-impact-collections ul { margin: 10px 0 0; padding-left: 20px; }
.admin-impact-collections li + li { margin-top: 10px; }
.admin-impact-collections li small { display: block; margin-top: 3px; }
.admin-people-review { margin-bottom: 24px; padding: 24px; background: white; border: var(--line); border-radius: 9px; }
.admin-people-review h2 { margin: 0 0 16px; font: 700 1.35rem 'Space Grotesk', sans-serif; }
.admin-people-review > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.admin-people-review article { display: grid; grid-template-columns: 58px 1fr; gap: 12px; align-items: center; padding: 12px; background: #faf8f4; border: 1px solid #ddd5cd; border-radius: 8px; }
.admin-people-review article:not(:has(img)) { grid-template-columns: 1fr; }
.admin-people-review img { width: 58px; height: 58px; object-fit: cover; border-radius: 50%; }
.admin-people-review p { display: grid; gap: 2px; margin: 0; }
.admin-people-review p span { color: var(--magenta); font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.admin-people-review p small { color: #68635e; }
.admin-people-review p em { font-size: .82rem; font-style: normal; }
@media (max-width: 640px) { .admin-people-review > div { grid-template-columns: 1fr; } }
.admin-mentoring-review { margin-bottom: 24px; padding: 24px; background: white; border: var(--line); border-radius: 9px; }
.admin-mentoring-review h2 { margin: 0 0 16px; font: 700 1.35rem 'Space Grotesk', sans-serif; }
.admin-mentoring-review > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.admin-mentoring-review article { padding: 16px; background: #faf8f4; border: 1px solid #ddd5cd; border-radius: 8px; }
.admin-mentoring-review article > span { display: block; margin-top: 3px; color: var(--magenta); font-size: .72rem; font-weight: 700; }
.admin-mentoring-review article p { margin: 12px 0 0; font-size: .86rem; }
.admin-mentoring-review article p b { display: block; margin-bottom: 3px; }
@media (max-width: 640px) { .admin-mentoring-review > div { grid-template-columns: 1fr; } }
.admin-review-sidebar { display: grid; gap: 20px; position: sticky; top: 20px; }
.admin-review-sidebar > section { padding: 25px; background: white; border: var(--line); border-radius: 9px; }
.admin-review-sidebar h2 { margin: 0 0 18px; font: 700 1.55rem 'Space Grotesk',sans-serif; }
.admin-action { border-top: var(--line); }
.admin-action summary { padding: 15px 0; cursor: pointer; color: var(--magenta); font-weight: 700; }
.admin-action form { padding: 0 0 20px; }
.admin-confirmation { padding: 12px; background: #fff4ec; border-radius: 5px; font-size: .8rem; }
.admin-history { margin: 0; padding: 0; list-style: none; }
.admin-history li { position: relative; padding: 0 0 20px 18px; border-left: 2px solid var(--neutral); }
.admin-history li::before { content:''; position:absolute; left:-6px; top:5px; width:10px; height:10px; background:var(--magenta); border-radius:50%; }
.admin-history strong, .admin-history span { display: block; }
.admin-history span { color: #68635e; font-size: .72rem; }
.admin-history p { margin: 7px 0 0; font-size: .85rem; }
.admin-latest-note { padding: 14px; background: #fff4f9; border-radius: 5px; }
.admin-latest-note p { margin: 5px 0 0; }
.admin-not-found { min-height: 100vh; display: grid; place-content: center; padding: 30px; text-align: center; }
.admin-not-found h1 { margin: 0 0 20px; font: 700 3rem 'Space Grotesk',sans-serif; }

@media (max-width: 1000px) {
    .admin-summary-grid { grid-template-columns: repeat(3,1fr); }
    .admin-submission-row { grid-template-columns: 1fr; }
    .admin-review-layout { grid-template-columns: 1fr; }
    .admin-review-sidebar { position: static; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
    .admin-summary-grid { grid-template-columns: 1fr 1fr; }
    .admin-toolbar { grid-template-columns: 1fr; }
    .admin-review-hero, .admin-review-meta, .admin-detail-header .container { align-items: flex-start; flex-direction: column; }
    .admin-review-sidebar { grid-template-columns: 1fr; }
    .admin-pitch-sections article { grid-template-columns: 35px 1fr; padding: 22px; }
    .admin-submission-row dl { grid-template-columns: 1fr; }
}

/* CP07 — account-based submissions, project ownership and user approval */
.auth-page { min-height: calc(100vh - 86px); padding: 70px 0 100px; background: linear-gradient(135deg, #faf7f2 0%, #fff4f9 48%, #fff0e5 100%); }
.auth-shell { display: grid; grid-template-columns: .85fr 1.15fr; gap: 34px; align-items: start; }
.auth-shell--login { max-width: 1000px; grid-template-columns: 1fr 1fr; }
.auth-intro { position: sticky; top: 30px; padding: 42px; border: var(--line); border-top: 7px solid var(--tangerine); border-radius: 10px; background: var(--ink); color: white; box-shadow: var(--shadow); }
.auth-intro .eyebrow { color: #ff9d58; }
.auth-intro h1 { margin: 0 0 20px; font: 700 clamp(2.7rem,5vw,4.8rem)/.92 'Space Grotesk',sans-serif; letter-spacing: -.065em; }
.auth-intro p { margin: 0; color: #eee9e4; }
.auth-flow { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 30px; }
.auth-flow span { padding: 10px 12px; border: 1px solid #4d4a47; background: #252525; font-size: .78rem; font-weight: 700; }
.auth-card { display: grid; gap: 4px; padding: 38px; background: white; border: var(--line); border-top: 7px solid var(--magenta); border-radius: 10px; box-shadow: var(--shadow); }
.auth-card h2 { margin: 0 0 20px; font: 700 clamp(2rem,4vw,3.1rem)/1 'Space Grotesk',sans-serif; letter-spacing: -.055em; }
.auth-card .button { justify-self: start; margin-top: 8px; }
.auth-card__foot { margin: 22px 0 0; font-size: .9rem; }
.auth-card__foot a, .auth-card__admin a { color: var(--magenta); font-weight: 700; }
.auth-card__admin { margin: 0; font-size: .8rem; }
.form-field input[readonly] { background: #f1ede8; color: #68635e; cursor: not-allowed; }
.demo-notice a { color: var(--magenta-dark); font-weight: 800; }

.member-body { min-height: 100vh; background: #f7f3ee; }
.member-header { background: white; border-bottom: var(--line); }
.member-header .container { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.member-header nav { display: flex; align-items: center; gap: 18px; }
.member-header nav > a:not(.button) { color: #514c47; font-weight: 700; text-decoration: none; }
.member-header nav > a[aria-current='page'] { color: var(--magenta); }
.member-header nav form { margin: 0; }
.member-header .button { min-height: 42px; padding: 8px 14px; box-shadow: 3px 3px 0 var(--ink); }
.member-main { padding: 55px 0 100px; }
.member-welcome { display: flex; justify-content: space-between; align-items: end; gap: 28px; padding: 38px; border: var(--line); border-top: 7px solid var(--magenta); border-radius: 10px; background: white; box-shadow: var(--shadow); }
.member-welcome h1 { margin: 0 0 12px; font: 700 clamp(2.4rem,5vw,4.4rem)/.95 'Space Grotesk',sans-serif; letter-spacing: -.06em; }
.member-welcome p:last-child { max-width: 720px; margin: 0; color: #68635e; }
.member-summary-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; margin: 24px 0 50px; }
.member-summary-grid article { min-height: 120px; display: flex; flex-direction: column; justify-content: space-between; padding: 20px; background: white; border: var(--line); border-radius: 8px; }
.member-summary-grid strong { color: var(--magenta); font: 700 2.4rem 'Space Grotesk',sans-serif; }
.member-summary-grid span { font-size: .76rem; font-weight: 700; }
.member-list-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.member-list-heading h2 { margin: 0; font: 700 2.2rem 'Space Grotesk',sans-serif; }
.member-list-heading > span { color: #716b65; font-size: .82rem; }
.member-project-list { display: grid; gap: 18px; }
.member-project-card { display: grid; grid-template-columns: 1.15fr .75fr 1fr auto; gap: 24px; align-items: center; padding: 26px; background: white; border: var(--line); border-radius: 9px; }
.member-project-card h2 { margin: 10px 0 4px; font: 700 1.45rem 'Space Grotesk',sans-serif; }
.member-project-card p { margin: 0; color: #68635e; }
.member-project-card dl { display: grid; gap: 10px; margin: 0; }
.member-project-card dt { color: #77716b; font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.member-project-card dd { margin: 2px 0 0; font-size: .82rem; }
.member-admin-note { padding: 13px; background: #fff4f9; border-left: 4px solid var(--magenta); font-size: .84rem; }
.member-admin-note p { margin-top: 4px; color: var(--ink); }
.member-project-actions { display: flex; flex-direction: column; gap: 10px; align-items: stretch; }
.member-project-actions .button { min-height: 44px; padding: 8px 13px; box-shadow: 3px 3px 0 var(--ink); font-size: .82rem; }
.member-waiting { display: inline-flex; padding: 10px 12px; background: #fff0e5; color: #8e430b; border-radius: 5px; font-size: .78rem; font-weight: 700; }
.member-empty { padding: 50px; background: white; border: var(--line); border-radius: 9px; text-align: center; }
.member-empty h2 { margin: 0; font: 700 2.3rem 'Space Grotesk',sans-serif; }
.member-empty p { margin: 10px auto 24px; max-width: 600px; }
.member-profile-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 28px; align-items: start; }
.member-profile-intro { padding: 38px; background: var(--ink); color: white; border-radius: 10px; border-top: 7px solid var(--tangerine); }
.member-profile-intro h1 { margin: 0 0 12px; font: 700 3.3rem/.95 'Space Grotesk',sans-serif; letter-spacing: -.06em; }
.member-profile-intro p { color: #e6e0da; }

.account-status { display: inline-flex; padding: 6px 10px; border-radius: 999px; font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.account-status--pending { background: #fff0e5; color: #9b4100; }
.account-status--active { background: #e8f6f1; color: #17644e; }
.account-status--suspended { background: #f0eded; color: #5d5555; }
.admin-top-actions { display: flex; align-items: center; gap: 12px; }
.admin-top-actions > a { padding: 8px 11px; border-radius: 5px; color: var(--ink); font-weight: 700; text-decoration: none; }
.admin-top-actions > a[aria-current='page'] { background: #fff4f9; color: var(--magenta); }
.admin-top-actions form { margin: 0; }
.admin-summary-grid--users { grid-template-columns: repeat(4,minmax(0,1fr)); }
.admin-user-list { display: grid; gap: 16px; }
.admin-user-row { display: grid; grid-template-columns: 1fr 1.4fr auto; gap: 25px; align-items: center; padding: 25px; background: white; border: var(--line); border-radius: 8px; }
.admin-user-row h2 { margin: 10px 0 3px; font: 700 1.35rem 'Space Grotesk',sans-serif; }
.admin-user-row p { margin: 0; color: #68635e; font-size: .85rem; }
.admin-user-row dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; }
.admin-user-row dt { color: #77716b; font-size: .67rem; font-weight: 700; text-transform: uppercase; }
.admin-user-row dd { margin: 2px 0 0; font-size: .82rem; }
.admin-user-actions { display: grid; gap: 8px; min-width: 165px; }
.admin-user-actions form { margin: 0; }
.admin-user-actions .button { width: 100%; min-height: 42px; padding: 8px 12px; box-shadow: 3px 3px 0 var(--ink); font-size: .8rem; }
.admin-user-actions details { border-top: var(--line); }
.admin-user-actions summary { padding-top: 8px; color: var(--magenta); cursor: pointer; font-size: .8rem; font-weight: 700; }
.admin-user-actions details form { min-width: 230px; padding-top: 10px; }

@media (max-width: 1050px) {
    .member-summary-grid { grid-template-columns: repeat(3,1fr); }
    .member-project-card { grid-template-columns: 1fr 1fr; }
    .member-project-actions { flex-direction: row; }
    .admin-user-row { grid-template-columns: 1fr; }
    .admin-user-actions { display: flex; flex-wrap: wrap; }
}
@media (max-width: 820px) {
    .auth-shell, .auth-shell--login, .member-profile-layout { grid-template-columns: 1fr; }
    .auth-intro { position: static; }
    .member-header .container, .member-welcome { align-items: flex-start; flex-direction: column; }
    .member-header nav { width: 100%; flex-wrap: wrap; }
    .member-summary-grid { grid-template-columns: 1fr 1fr; }
    .member-project-card { grid-template-columns: 1fr; }
    .member-project-actions { flex-direction: column; }
    .admin-top-actions { flex-wrap: wrap; }
    .admin-summary-grid--users { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
    .auth-page { padding-top: 35px; }
    .auth-intro, .auth-card, .member-welcome, .member-profile-intro { padding: 26px; }
    .auth-flow, .member-summary-grid, .admin-summary-grid--users { grid-template-columns: 1fr; }
    .member-header .brand__name { display: none; }
    .admin-user-row dl { grid-template-columns: 1fr; }
}


/* CP07.1 — Sign in with Google */
.google-signin-block { display: grid; gap: 10px; justify-items: start; padding: 16px 0 8px; }
.google-signin-block > p { margin: 0; max-width: 42ch; color: var(--muted); font-size: .82rem; line-height: 1.45; }
.auth-divider { display: flex; align-items: center; gap: 12px; margin: 14px 0 18px; color: var(--muted); font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.auth-divider::before, .auth-divider::after { content: ''; height: 1px; flex: 1; background: #ddd5ce; }
.password-login-form { display: grid; gap: 4px; }
.google-profile-preview { display: flex; align-items: center; gap: 16px; margin: 0 0 22px; padding: 16px; background: #faf7f2; border: 1px solid #ddd5ce; border-radius: 10px; }
.google-profile-preview img { width: 58px; height: 58px; border-radius: 50%; object-fit: cover; border: 2px solid white; box-shadow: 0 4px 12px rgba(0,0,0,.12); }
.google-profile-preview h2 { margin: 0 0 4px; font-size: 1.3rem; letter-spacing: -.03em; }
.google-profile-preview p { margin: 0; color: var(--muted); font-size: .88rem; }
.admin-user-identity { display: flex; align-items: flex-start; gap: 14px; }
.admin-user-identity > img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; border: 2px solid white; box-shadow: 0 3px 10px rgba(0,0,0,.12); }
.auth-provider-badge { display: inline-flex; margin-left: 6px; padding: 4px 8px; border: 1px solid #cac5bf; border-radius: 999px; background: white; font-size: .68rem; font-weight: 800; vertical-align: middle; }
.auth-provider-badge--google { border-color: #9fc0f8; background: #eef5ff; color: #174ea6; }
.auth-provider-badge--both { border-color: #e7bd6d; background: #fff7e8; color: #7a4d00; }

/* CP07.3 — BM/EN language switcher */
.language-switcher-item { display: flex; align-items: center; }
.language-switcher {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 8px;
    border: 1px solid rgba(17, 17, 17, .18);
    border-radius: 999px;
    background: rgba(255, 255, 255, .78);
    font-size: .7rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .05em;
}
.primary-nav .language-switcher__option {
    padding: 2px;
    color: #76706b;
    font-size: .7rem;
    text-decoration: none;
    transform: none;
}
.primary-nav .language-switcher__option::after { display: none !important; }
.primary-nav .language-switcher__option:hover,
.primary-nav .language-switcher__option:focus-visible,
.primary-nav .language-switcher__option.is-active {
    color: var(--magenta);
    transform: none;
}
.primary-nav .language-switcher__option.is-active { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 820px) {
    .primary-nav li.language-switcher-item { padding: 14px 5px; border-bottom: 1px solid var(--ink); }
    .language-switcher { width: max-content; }
}

/* HUBINOVASI — POTRET MENTOR */
.profile-hero--mentor .profile-hero__inner {
    display: grid;
    grid-template-columns: minmax(260px, 400px) minmax(0, 1fr);
    align-items: center;
    gap: clamp(2rem, 6vw, 5rem);
}

.mentor-portrait {
    position: relative;
    width: 100%;
    margin: 0;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    border-radius: 28px;
    background: #ffffff;
    box-shadow:
        12px 12px 0 #ec0068,
        -8px -8px 0 #10256b;
}

.mentor-portrait img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

@media (max-width: 820px) {
    .profile-hero--mentor .profile-hero__inner {
        grid-template-columns: 1fr;
    }

    .mentor-portrait {
        width: min(100%, 380px);
        margin-inline: auto;
        box-shadow:
            8px 8px 0 #ec0068,
            -6px -6px 0 #10256b;
    }
}

/* HUBINOVASI — POTRET MENTOR */
.profile-hero--mentor .profile-hero__inner {
    display: grid;
    grid-template-columns: minmax(260px, 400px) minmax(0, 1fr);
    align-items: center;
    gap: clamp(2rem, 6vw, 5rem);
}

.mentor-portrait {
    position: relative;
    width: 100%;
    margin: 0;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    border-radius: 28px;
    background: #ffffff;
    box-shadow:
        12px 12px 0 #ec0068,
        -8px -8px 0 #10256b;
}

.mentor-portrait img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

@media (max-width: 820px) {
    .profile-hero--mentor .profile-hero__inner {
        grid-template-columns: 1fr;
    }

    .mentor-portrait {
        width: min(100%, 380px);
        margin-inline: auto;
        box-shadow:
            8px 8px 0 #ec0068,
            -6px -6px 0 #10256b;
    }
}

/* HUBINOVASI — POTRET MENTOR */
.profile-hero--mentor .profile-hero__inner {
    display: grid;
    grid-template-columns: minmax(260px, 400px) minmax(0, 1fr);
    align-items: center;
    gap: clamp(2rem, 6vw, 5rem);
}

.mentor-portrait {
    position: relative;
    width: 100%;
    margin: 0;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    border-radius: 28px;
    background: #ffffff;
    box-shadow:
        12px 12px 0 #ec0068,
        -8px -8px 0 #10256b;
}

.mentor-portrait img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

@media (max-width: 820px) {
    .profile-hero--mentor .profile-hero__inner {
        grid-template-columns: 1fr;
    }

    .mentor-portrait {
        width: min(100%, 380px);
        margin-inline: auto;
        box-shadow:
            8px 8px 0 #ec0068,
            -6px -6px 0 #10256b;
    }
}


/* =========================================================
   MENTOR PHOTO ASSET PATCH
   ========================================================= */

.profile-portrait.mentor-photo {
    padding: 0 !important;
    overflow: hidden !important;
    background: #ffffff !important;
    color: transparent !important;
    line-height: 0 !important;
}

.profile-portrait.mentor-photo img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center top;
}
