
/* PEQuu Investor Portal — Design Foundation v0.6.0 */
:root{
  --pq-navy:#131f69;--pq-blue:#2898ea;--pq-blue-dark:#1479c8;--pq-ink:#172033;
  --pq-muted:#6d7b91;--pq-bg:#f4f7fb;--pq-card:#fff;--pq-cream:#fff9ee;
  --pq-line:#dce5f0;--pq-line-strong:#c7d3e2;--pq-success:#158760;
  --pq-warning:#b77812;--pq-danger:#be4452;--pq-radius-sm:11px;--pq-radius:16px;
  --pq-radius-lg:22px;--pq-radius-xl:30px;--pq-shadow-sm:0 8px 24px rgba(19,31,105,.065);
  --pq-shadow:0 18px 46px rgba(19,31,105,.09);--pq-shadow-lg:0 28px 72px rgba(19,31,105,.14);
  --pq-focus:0 0 0 4px rgba(40,152,234,.14)
}
*{box-sizing:border-box}html{background:var(--pq-bg);scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 92% 0,rgba(40,152,234,.065),transparent 28rem),var(--pq-bg);color:var(--pq-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.portal-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92)!important;border-bottom:1px solid rgba(220,229,240,.88)!important;box-shadow:0 6px 24px rgba(19,31,105,.035);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.header-inner{min-height:82px!important;height:auto!important;padding:12px 0;gap:28px}.portal-brand--tagline{display:inline-flex!important;align-items:center;min-width:205px}.portal-brand--tagline img{width:205px!important;height:auto!important;max-height:52px;display:block}
.profile-trigger{min-height:56px!important;padding:6px 10px 6px 7px!important;border:1px solid transparent!important;border-radius:16px!important;background:transparent!important}.profile-trigger:hover,.profile-trigger[aria-expanded=true]{border-color:var(--pq-line)!important;background:#fff!important;box-shadow:var(--pq-shadow-sm)}.profile-avatar{background:linear-gradient(145deg,var(--pq-navy),#263a91)!important;box-shadow:0 7px 18px rgba(19,31,105,.22)}.profile-copy strong{color:var(--pq-navy)!important}.profile-access{color:var(--pq-blue-dark)!important}.profile-dropdown{border-radius:16px!important;border-color:var(--pq-line)!important;padding:8px!important;box-shadow:var(--pq-shadow-lg)!important}.profile-dropdown a{border-radius:10px!important}
.portal-main{min-height:calc(100vh - 176px);padding-top:46px!important;padding-bottom:82px!important}
.portal-footer--brand{background:linear-gradient(135deg,#101b5a,#172a78)!important;border:0!important;color:rgba(255,255,255,.72)}.portal-footer--brand .footer-inner{min-height:104px!important}.footer-brand--official{display:flex;align-items:center;gap:20px!important}.footer-brand-lockup{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px}.footer-brand-lockup img{width:112px!important;height:auto!important}.footer-brand-lockup small{color:rgba(255,255,255,.68);font-size:8px;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.portal-footer--brand .footer-brand>span:last-child{color:rgba(255,255,255,.66)!important;font-size:12px}.portal-footer--brand a{color:rgba(255,255,255,.72)!important}.portal-footer--brand a:hover{color:#fff!important}
/* Shared surfaces */
.admin-module,.admin-dashboard,.data-room-page,.document-viewer-page,.access-activity-page{color:var(--pq-ink)}
.admin-module-panel,.admin-module .crm-panel,.admin-card,.dashboard-card,.dr-filter-panel,.dr-document-card,.document-card,.activity-card,.question-card,.journey-card,.room-card{border-color:var(--pq-line)!important;background:rgba(255,255,255,.97)!important;box-shadow:var(--pq-shadow-sm)!important}
.admin-module-panel:hover,.admin-card:hover,.dashboard-card:hover,.dr-document-card:hover,.room-card-available:hover{border-color:rgba(40,152,234,.38)!important;box-shadow:var(--pq-shadow)!important}
.admin-module-hero h1,.admin-hero h1,.dr-hero h1,.document-hero h1{color:var(--pq-navy)!important;letter-spacing:-.045em!important}.admin-module-kicker,.admin-kicker,.dr-kicker,.section-kicker{color:var(--pq-blue-dark)!important;font-weight:850!important;letter-spacing:.13em!important}
/* Buttons */
button,.button,.btn,.dr-button,.admin-module-back,.admin-module button,.au-btn,.ah-btn{border-radius:12px!important;font-weight:800!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease!important}
button:hover,.button:hover,.btn:hover,.dr-button:hover,.admin-module-back:hover,.admin-module button:hover,.au-btn:hover,.ah-btn:hover{transform:translateY(-1px)}
.dr-button--primary,.admin-module button,.au-btn-primary,.ah-btn-primary{background:var(--pq-blue)!important;color:#fff!important;box-shadow:0 10px 22px rgba(40,152,234,.2)!important}.dr-button--primary:hover,.admin-module button:hover,.au-btn-primary:hover,.ah-btn-primary:hover{background:var(--pq-blue-dark)!important;box-shadow:0 13px 28px rgba(40,152,234,.27)!important}
.dr-button--secondary,.admin-module-back,.au-btn-secondary,.ah-btn-secondary{background:#fff!important;color:var(--pq-navy)!important;border:1px solid var(--pq-line)!important}.dr-button--secondary:hover,.admin-module-back:hover,.au-btn-secondary:hover,.ah-btn-secondary:hover{border-color:#9fc5e8!important;background:#f8fbff!important}
/* Inputs */
input:not([type=checkbox]):not([type=radio]),select,textarea{border-radius:12px!important;border-color:var(--pq-line-strong)!important;background:#fff!important;color:var(--pq-ink)!important;outline:0!important}input:focus,select:focus,textarea:focus{border-color:var(--pq-blue)!important;box-shadow:var(--pq-focus)!important}label{color:#3b4c69}input[type=checkbox],input[type=radio]{accent-color:var(--pq-blue)}
/* Tables */
table{border-collapse:separate!important;border-spacing:0!important}thead th{background:#f6f9fd!important;color:#5c6d89!important}tbody tr{transition:background .16s ease}tbody tr:hover{background:#f9fbfe}tbody td{border-bottom-color:#e7edf5!important}
/* Alerts and badges */
.alert,.login-alert,.au-alert{border-radius:13px!important}.badge,.status-badge,.access-badge,.welcome-badge,.dr-badge{font-weight:800!important;letter-spacing:.01em}
/* Better page rhythm */
.admin-module{padding-top:48px!important}.admin-module-breadcrumb{margin-bottom:20px!important}.admin-module-hero{margin-bottom:26px!important}.admin-module-hero h1{font-size:clamp(36px,4vw,50px)!important}.admin-module-panel,.admin-module .crm-panel{border-radius:20px!important}.admin-module-panel-head h2,.admin-module .crm-panel-header h2{color:var(--pq-navy)!important}
/* Login brand lockups */
.login-story-brand{display:inline-flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:clamp(64px,12vh,142px)}.login-story-brand .login-story-logo{margin:0!important}.login-story-brand span{color:rgba(255,255,255,.78);font-size:10px;font-weight:780;letter-spacing:.16em;text-transform:uppercase}.login-card-lockup{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px}.login-card-lockup img{width:112px!important;height:auto!important}.login-card-lockup small{color:var(--pq-navy);font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.login-card-brand{justify-content:space-between;gap:24px!important}.login-card-brand>div{text-align:right}.login-card-brand>div strong{font-size:.82rem}.login-card-brand>div span{font-size:.69rem}
@media(max-width:680px){.header-inner{min-height:72px!important}.portal-brand--tagline img{width:168px!important}.portal-main{padding-top:30px!important}.footer-brand--official{align-items:flex-start;flex-direction:column;gap:12px!important}.portal-footer--brand .footer-inner{padding:28px 0!important}.login-card-brand{align-items:flex-start}.login-card-lockup img{width:148px!important}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}


/* v0.6.4c — complete footer, legal pages and contact form */
.portal-footer--brand {
    margin-top: auto;
}
.footer-inner--complete {
    min-height: 112px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}
.footer-brand--official {
    display: flex;
    align-items: center;
    gap: 28px !important;
}
.footer-brand-lockup img {
    width: 172px !important;
    max-height: 54px;
}
.portal-footer--brand .footer-brand > span:last-child {
    white-space: nowrap;
    font-size: 13px !important;
}
.footer-links {
    display: flex;
    align-items: center;
    gap: 0;
}
.footer-links a {
    position: relative;
    padding: 8px 18px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}
.footer-links a + a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 1px;
    height: 18px;
    background: rgba(255,255,255,.22);
    transform: translateY(-50%);
}

.content-page {
    max-width: 1040px;
    margin: 0 auto;
}
.content-page__hero {
    margin-bottom: 28px;
}
.content-page__kicker {
    display: block;
    margin-bottom: 8px;
    color: var(--pq-blue-dark);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .14em;
}
.content-page__hero h1 {
    margin: 0;
    color: var(--pq-navy);
    font-size: clamp(38px, 5vw, 58px);
    letter-spacing: -.045em;
}
.content-page__hero p {
    max-width: 720px;
    margin: 12px 0 0;
    color: var(--pq-muted);
    font-size: 17px;
    line-height: 1.65;
}
.content-page__card {
    border: 1px solid var(--pq-line);
    border-radius: 22px;
    background: rgba(255,255,255,.98);
    box-shadow: var(--pq-shadow);
}
.legal-copy {
    padding: clamp(28px, 5vw, 56px);
}
.legal-copy h2 {
    margin: 32px 0 9px;
    color: var(--pq-navy);
    font-size: 20px;
}
.legal-copy h2:first-child {
    margin-top: 0;
}
.legal-copy p {
    margin: 0;
    color: #53627a;
    line-height: 1.75;
}
.legal-copy__updated {
    margin-top: 40px !important;
    padding-top: 24px;
    border-top: 1px solid var(--pq-line);
    color: var(--pq-muted) !important;
    font-size: 13px;
}

.contact-layout {
    display: grid;
    grid-template-columns: minmax(220px, .72fr) minmax(0, 1.7fr);
    gap: 24px;
    align-items: start;
}
.contact-details {
    padding: 28px;
}
.contact-details h2 {
    margin: 5px 0 5px;
    color: var(--pq-navy);
}
.contact-details p {
    margin: 0 0 18px;
    color: var(--pq-muted);
    line-height: 1.55;
}
.contact-details a {
    color: var(--pq-blue-dark);
    font-weight: 800;
    text-decoration: none;
}
.contact-form {
    position: relative;
    padding: clamp(24px, 4vw, 40px);
}
.contact-form__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.contact-form__wide {
    grid-column: 1 / -1;
}
.contact-form label {
    display: block;
    margin-bottom: 8px;
    color: var(--pq-navy);
    font-weight: 750;
}
.contact-form input,
.contact-form textarea {
    width: 100%;
}
.contact-form textarea {
    resize: vertical;
    min-height: 170px;
}
.contact-form__actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid var(--pq-line);
}
.contact-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@media (max-width: 820px) {
    .footer-inner--complete,
    .footer-brand--official {
        flex-direction: column;
        align-items: flex-start;
    }
    .footer-inner--complete {
        padding: 30px 0;
    }
    .footer-links {
        flex-wrap: wrap;
        margin-left: -18px;
    }
    .contact-layout {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 560px) {
    .contact-form__grid {
        grid-template-columns: 1fr;
    }
    .footer-brand--official {
        gap: 14px !important;
    }
    .footer-links a {
        padding-right: 13px;
        padding-left: 13px;
    }
}

/* v0.6.4d — refined Contact page and About page */
.content-page__hero--centered {
    max-width: 760px;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}
.content-page--contact {
    max-width: 920px;
}
.contact-form--premium {
    overflow: hidden;
    padding: 0;
}
.contact-form__intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 30px 34px;
    border-bottom: 1px solid var(--pq-line);
    background: linear-gradient(135deg, rgba(18,96,217,.08), rgba(255,255,255,.96));
}
.contact-form__intro h2 {
    margin: 2px 0 6px;
    color: var(--pq-navy);
    font-size: 24px;
}
.contact-form__intro p {
    margin: 0;
    color: var(--pq-muted);
}
.contact-form__intro > a {
    flex: 0 0 auto;
    padding: 11px 15px;
    border: 1px solid rgba(17,84,190,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.8);
    color: var(--pq-blue-dark);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}
.contact-form--premium .alert {
    margin: 26px 34px 0;
}
.contact-form--premium .contact-form__grid {
    padding: 34px;
}
.contact-field label span {
    color: #e5484d;
}
.contact-field input,
.contact-field textarea {
    border: 1px solid #cbd7e7;
    background: #fbfdff;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.contact-field input:focus,
.contact-field textarea:focus {
    border-color: var(--pq-blue);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(30,125,224,.12);
    outline: none;
}
.contact-field small {
    display: block;
    margin-top: 8px;
    color: var(--pq-muted);
    font-size: 12px;
}
.contact-form--premium .contact-form__actions {
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: 22px 34px 28px;
    background: #fbfcfe;
}
.contact-form__actions p {
    margin: 0;
    color: var(--pq-muted);
    font-size: 13px;
}
.contact-form__actions button {
    min-width: 150px;
}

.content-page--about {
    max-width: 1080px;
}
.about-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}
.about-card {
    position: relative;
    min-height: 220px;
    padding: 30px;
}
.about-card--lead,
.about-card--wide {
    grid-column: 1 / -1;
}
.about-card--lead {
    min-height: 0;
    padding: clamp(32px, 5vw, 54px);
    background: linear-gradient(135deg, rgba(21,100,214,.08), #fff 58%);
}
.about-card h2 {
    margin: 8px 0 12px;
    color: var(--pq-navy);
    font-size: 25px;
    letter-spacing: -.025em;
}
.about-card p {
    max-width: 840px;
    margin: 0;
    color: #53627a;
    line-height: 1.72;
}
.about-card__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    background: rgba(24,111,220,.1);
    color: var(--pq-blue-dark);
    font-size: 13px;
    font-weight: 900;
}
.about-card--wide {
    min-height: 0;
    padding: 36px;
    border-color: rgba(22,92,192,.22);
}

@media (max-width: 760px) {
    .contact-form__intro,
    .contact-form--premium .contact-form__actions {
        align-items: flex-start;
        flex-direction: column;
    }
    .contact-form--premium .contact-form__grid,
    .contact-form__intro,
    .contact-form--premium .contact-form__actions {
        padding-right: 24px;
        padding-left: 24px;
    }
    .about-grid {
        grid-template-columns: 1fr;
    }
    .about-card--lead,
    .about-card--wide {
        grid-column: auto;
    }
}


/* v0.6.4e — final About and Contact refinements */
.about-card {
    min-height: 0 !important;
    padding: 34px 38px !important;
}
.about-card + .about-card {
    margin-top: 0;
}
.about-card .content-page__kicker {
    margin-bottom: 11px;
}
.about-card h2 {
    margin: 0 0 13px !important;
}
.about-card p {
    max-width: 780px;
    padding-right: 12px;
    line-height: 1.72 !important;
}
.about-grid {
    gap: 24px !important;
}
.about-card--lead,
.about-card--wide {
    padding: 40px 44px !important;
}

.contact-form__intro {
    justify-content: flex-start !important;
    padding: 34px 40px !important;
}
.contact-form__intro-icon {
    display: inline-flex;
    flex: 0 0 58px;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: rgba(28,105,223,.10);
    color: var(--pq-blue-dark);
}
.contact-form__intro .content-page__kicker {
    margin-bottom: 4px;
}
.contact-form__intro h2 {
    margin: 0 0 7px !important;
}
.contact-form--premium .contact-form__grid {
    gap: 22px 24px !important;
    padding: 38px 40px 28px !important;
}
.contact-field label {
    margin-bottom: 9px !important;
    font-size: 14px;
}
.contact-form--premium .contact-field input {
    box-sizing: border-box;
    min-height: 52px !important;
    height: 52px !important;
    padding: 0 16px !important;
    border: 1px solid #c8d5e6 !important;
    border-radius: 12px !important;
    background: #fff !important;
    font-family: inherit !important;
    font-size: 15px !important;
    line-height: 52px !important;
    appearance: none;
}
.contact-form--premium .contact-field textarea {
    box-sizing: border-box;
    min-height: 190px !important;
    padding: 15px 16px !important;
    border: 1px solid #c8d5e6 !important;
    border-radius: 12px !important;
    background: #fff !important;
    font-family: inherit !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}
.contact-form--premium .contact-field input::placeholder,
.contact-form--premium .contact-field textarea::placeholder {
    color: #8b98aa;
}
.contact-form__privacy {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 40px 4px;
    padding: 13px 16px;
    border-radius: 12px;
    background: #f2f6fc;
    color: #53627a;
    font-size: 13px;
}
.contact-form__privacy svg {
    flex: 0 0 auto;
    color: var(--pq-blue-dark);
}
.contact-form--premium .contact-form__actions {
    gap: 28px !important;
    padding: 24px 40px 34px !important;
    border-top: 0 !important;
    background: #fff !important;
}
.contact-form--premium .contact-form__actions p {
    margin-right: auto !important;
}
.contact-form--premium .contact-submit {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 176px !important;
    min-height: 52px !important;
    padding: 0 24px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #238fdd, #1763d4) !important;
    box-shadow: 0 12px 25px rgba(23,99,212,.24) !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease;
}
.contact-form--premium .contact-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 15px 30px rgba(23,99,212,.30) !important;
}
.contact-form--premium .contact-submit:active {
    transform: translateY(0);
}

@media (max-width: 760px) {
    .about-card,
    .about-card--lead,
    .about-card--wide {
        padding: 28px 25px !important;
    }
    .contact-form__intro {
        flex-direction: row !important;
        padding: 28px 24px !important;
    }
    .contact-form__intro-icon {
        flex-basis: 50px;
        width: 50px;
        height: 50px;
    }
    .contact-form--premium .contact-form__grid {
        padding: 28px 24px 22px !important;
    }
    .contact-form__privacy {
        margin-right: 24px;
        margin-left: 24px;
    }
    .contact-form--premium .contact-form__actions {
        align-items: stretch !important;
        padding: 22px 24px 28px !important;
    }
    .contact-form--premium .contact-submit {
        width: 100%;
    }
}
