/* Reuse Antaei's original Bebas Neue, Special Elite and Inter type system. */
.portal-body{min-height:100svh;background:radial-gradient(ellipse at 50% 15%,#24050480,transparent 55%),var(--bg-void)}
.portal-body .vignette{background:radial-gradient(ellipse at center,transparent 55%,#0006 100%)}
.portal-shell{position:relative;z-index:10;max-width:620px;padding:155px 24px 80px;margin:0 auto;min-height:calc(100svh - 100px)}
.portal-wide{max-width:1080px}.portal-heading{margin-bottom:28px}.portal-eyebrow{font-family:var(--font-mono);font-size:11px;color:var(--red-link);letter-spacing:.15em;text-transform:uppercase;margin-bottom:16px}
.portal-heading h1{font-family:var(--font-headline);font-size:clamp(42px,6vw,68px);font-weight:400;line-height:1;letter-spacing:.03em;overflow-wrap:anywhere}
.portal-panel{background:var(--bg-dark);border:1px solid var(--field-border);padding:28px;margin:22px 0}
.portal-panel h2,.client-list>h2,.project-conversation>h2,.portal-empty h2{font-family:var(--font-headline);font-size:28px;letter-spacing:.04em;font-weight:400;margin-bottom:14px}
.portal-intro,.portal-panel p{font-size:14px;color:#baaaa0;line-height:1.7;margin-bottom:20px}.portal-panel p:last-child{margin-bottom:0}
.portal-panel label,.access-link label{display:block;font-family:var(--font-mono);font-size:13px;color:#cbb8ab;line-height:1.5;margin-bottom:18px}
.portal-panel input,.portal-panel textarea,.portal-panel select,.access-link input{display:block;width:100%;min-width:0;margin-top:8px;border:1px solid var(--field-border);background:var(--field-bg);color:var(--text-primary);border-radius:0;padding:13px 14px;font-family:var(--font-mono);font-size:16px;line-height:1.5}
.portal-panel textarea{resize:vertical}.portal-panel input:focus,.portal-panel textarea:focus,.portal-panel select:focus{border-color:var(--red-core)}
.portal-panel .cta-btn{margin-top:7px}.portal-secondary{display:inline-block;font-family:var(--font-mono);font-size:12px;margin-top:22px;color:var(--red-link);text-underline-offset:4px}
.portal-footnote{font-family:var(--font-mono);font-size:12px;color:#a69487;line-height:1.8;max-width:490px}
.portal-text-button{display:block;border:0;background:none;padding:0;margin:0 0 16px;color:var(--red-link);font-family:var(--font-mono);font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.portal-message,.portal-error{padding:16px 20px;font-size:14px;line-height:1.6;border:1px solid #53433a;background:#17120e;color:#e3d4c4;margin-bottom:22px;overflow-wrap:anywhere}
.portal-error{border-color:#863e33;background:#240d0a;color:#f5c5b8}.portal-nav{display:flex;align-items:center;gap:25px;border-bottom:1px solid #3d2521;padding-bottom:17px;margin-bottom:30px;flex-wrap:wrap}
.portal-nav a,.portal-nav button,.portal-actions a:not(.cta-btn){font-family:var(--font-mono);font-size:13px;color:var(--red-link);text-underline-offset:4px}
.portal-nav button{background:none;border:0;cursor:pointer;text-decoration:underline;padding:0}.logout-form{margin-left:auto}
.portal-actions{display:flex;align-items:center;gap:25px;margin:25px 0 30px;flex-wrap:wrap}.portal-actions .cta-btn{text-decoration:none;display:inline-block}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.project-card{display:block;padding:25px;border:1px solid var(--field-border);background:var(--bg-dark);text-decoration:none;color:var(--text-primary);min-width:0;transition:border-color .2s}
.project-card:hover{border-color:var(--red-core)}.project-card h2{font-family:var(--font-headline);font-size:29px;letter-spacing:.03em;font-weight:400;margin:20px 0 10px;overflow-wrap:anywhere}
.project-card p{font-size:14px;color:#bba99b;line-height:1.6;margin-bottom:18px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.project-status{display:inline-block;font-family:var(--font-mono);font-size:11px;border:1px solid #704035;color:#dba996;padding:6px 8px;white-space:nowrap}
.project-date,.project-client{font-family:var(--font-mono);font-size:11px;color:#aa9484}.project-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.portal-panel .field-note{font-family:var(--font-mono);font-size:11px;color:#a89487;line-height:1.7}
.narrow{max-width:600px}.access-link{padding:22px;border:1px solid var(--field-border);background:var(--bg-dark);margin:22px 0}.access-link p{font-family:var(--font-mono);font-size:11px;color:#b6a18b;line-height:1.7}
.client-list{margin-top:40px}.client-summary{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.client-summary h3{font-family:var(--font-mono);font-size:16px;margin-bottom:8px}.client-summary p{margin-bottom:4px;overflow-wrap:anywhere}
.portal-panel details{margin-top:20px}.portal-panel summary{font-family:var(--font-mono);font-size:13px;color:var(--red-link);cursor:pointer}.portal-panel details form,.portal-panel>summary+form{margin-top:22px;max-width:480px}
.project-conversation{margin-top:35px}.project-note{padding:24px 0;border-bottom:1px solid #3c2620}.project-note>div{display:flex;justify-content:space-between;gap:20px;font-family:var(--font-mono);font-size:12px;flex-wrap:wrap}.project-note span{font-size:11px;color:#9f8779}.project-note p{margin-top:14px;font-size:15px;color:#d6c6b8;line-height:1.7}
.portal-body .site-footer a{color:var(--red-link);text-underline-offset:4px}.portal-skip{position:absolute;left:12px;top:-100px;z-index:10000;font-family:var(--font-mono);background:#20110b;color:#fff;padding:12px}.portal-skip:focus{top:12px}
@media(max-width:640px){.portal-shell{padding:155px 20px 55px}.portal-panel{padding:22px 18px}.project-grid{grid-template-columns:1fr}.client-summary{flex-direction:column;gap:12px}.portal-nav{gap:20px}.project-note>div{gap:10px}.portal-heading h1{font-size:44px}.project-top{align-items:flex-start;flex-direction:column}.portal-panel .cta-btn{max-width:100%;white-space:normal}}

.contact-entry .client-summary>div{min-width:0}.contact-entry h3{overflow-wrap:anywhere}.contact-entry h3 a{color:var(--red-link);text-underline-offset:4px}.contact-entry .project-status{white-space:normal}

.portal-secondary:hover,.portal-text-button:hover,.portal-nav a:hover,.portal-nav button:hover,.portal-actions a:not(.cta-btn):hover,.portal-panel summary:hover,.portal-body .site-footer a:hover,.contact-entry h3 a:hover{color:var(--red-link-hover)}
