/* ============================================================
   NeuroBridge — clinical-dossier design system
   Palette: ink #16202E · paper #FBFAF7 · canvas #EFEDE6
            teal #0F6E66 / #0B544D · amber #B45309
   Type:    Spectral (display) · Inter (body) · IBM Plex Mono (data)
   ============================================================ */

:root{
    --ink:#16202E;
    --ink-soft:#42505F;
    --ink-faint:#7C8794;
    --paper:#FBFAF7;
    --canvas:#EFEDE6;
    --teal:#0F6E66;
    --teal-deep:#0B544D;
    --teal-tint:#E7F1EF;
    --amber:#B45309;
    --amber-tint:#FBF1E4;
    --line:#E3E0D8;
    --line-ink:rgba(255,255,255,.14);

    --font-display:"Spectral",Georgia,serif;
    --font-body:"Inter",system-ui,sans-serif;
    --font-mono:"IBM Plex Mono",ui-monospace,monospace;

    --wrap:1140px;
}

*{margin:0;padding:0;box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
    font-family:var(--font-body);
    font-size:16px;
    line-height:1.6;
    color:var(--ink);
    background:var(--paper);
    -webkit-font-smoothing:antialiased;
}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;}

img,svg{display:block;}

a{color:inherit;}

/* ---------- Accessibility ---------- */
.skip-link{
    position:absolute;left:-9999px;top:0;
    background:var(--ink);color:#fff;padding:10px 16px;z-index:2000;
    text-decoration:none;font-size:14px;
}
.skip-link:focus{left:12px;top:12px;}

:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:2px;}

/* ---------- Type ---------- */
h1,h2{
    font-family:var(--font-display);
    font-weight:500;
    letter-spacing:-0.015em;
    line-height:1.12;
}
h1{font-size:clamp(2.4rem,5.2vw,3.7rem);}
h2{font-size:clamp(1.8rem,3.6vw,2.5rem);}
h3{font-size:1.15rem;font-weight:600;letter-spacing:-0.01em;}
h4{font-size:1rem;font-weight:600;}

.eyebrow{
    font-family:var(--font-mono);
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--teal-deep);
    margin-bottom:14px;
}
.eyebrow--light{color:#8FC6BF;}

/* ---------- Buttons ---------- */
.btn{
    display:inline-block;
    font-weight:600;
    font-size:15px;
    padding:13px 26px;
    border-radius:6px;
    text-decoration:none;
    border:1.5px solid transparent;
    cursor:pointer;
    transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.btn-primary{background:var(--teal);color:#fff;}
.btn-primary:hover{background:var(--teal-deep);transform:translateY(-1px);}
.btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent;}
.btn-ghost:hover{background:var(--ink);color:var(--paper);}
.btn-block{width:100%;border:none;font-family:var(--font-body);}

/* ---------- Navigation ---------- */
.navbar{
    position:sticky;top:0;z-index:1000;
    background:rgba(251,250,247,.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
}
.nav-inner{
    max-width:var(--wrap);margin:0 auto;padding:0 24px;
    height:68px;
    display:flex;align-items:center;gap:32px;
}
.nav-logo{
    display:flex;align-items:center;gap:10px;
    text-decoration:none;color:var(--teal);
    margin-right:auto;
}
.logo-word{
    font-family:var(--font-display);
    font-size:1.35rem;font-weight:400;color:var(--ink);letter-spacing:-0.01em;
}
.logo-word b{font-weight:600;color:var(--teal-deep);}
.logo-word--light{color:#fff;}
.logo-word--light b{color:#8FC6BF;}

.nav-links{display:flex;gap:26px;}
.nav-links a{
    text-decoration:none;font-size:14.5px;font-weight:500;color:var(--ink-soft);
    padding:6px 0;border-bottom:2px solid transparent;
    transition:color .15s ease,border-color .15s ease;
}
.nav-links a:hover{color:var(--teal-deep);border-color:var(--teal);}

.nav-cta{padding:10px 20px;font-size:14px;}

.nav-toggle{
    display:none;background:none;border:none;cursor:pointer;padding:8px;
}
.nav-toggle span{
    display:block;width:22px;height:2px;background:var(--ink);margin:5px 0;
    transition:transform .2s ease,opacity .2s ease;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ---------- Hero ---------- */
.hero{padding:88px 0 96px;background:var(--paper);}
.hero-grid{
    display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center;
}
.hero-sub{
    font-size:1.15rem;color:var(--ink-soft);
    margin:22px 0 30px;max-width:32em;
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero-note{
    font-family:var(--font-mono);font-size:12px;color:var(--ink-faint);
    margin-top:26px;letter-spacing:.02em;
}

/* Report-card mock (hero signature) */
.hero-visual{position:relative;display:flex;justify-content:center;}
.report-card{
    position:relative;
    width:min(380px,100%);
    background:#fff;
    border:1px solid var(--line);
    border-radius:8px;
    box-shadow:0 24px 60px rgba(22,32,46,.12),0 2px 6px rgba(22,32,46,.05);
    padding:22px 24px;
    transform:rotate(-1.5deg);
}
.report-card--back{
    position:absolute;inset:0;margin:auto;
    width:min(380px,100%);height:100%;
    transform:rotate(2.5deg) translate(10px,8px);
    background:var(--canvas);
    box-shadow:none;
    z-index:0;
}
.report-card:not(.report-card--back){z-index:1;}

.rc-head{
    display:flex;justify-content:space-between;align-items:baseline;
    border-bottom:2px solid var(--ink);
    padding-bottom:10px;margin-bottom:14px;
}
.rc-brand{font-family:var(--font-display);font-size:1rem;}
.rc-brand b{font-weight:600;color:var(--teal-deep);}
.rc-ref{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint);letter-spacing:.04em;}
.rc-title{font-weight:600;font-size:14px;margin-bottom:14px;}
.rc-label{
    font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;
    text-transform:uppercase;color:var(--ink-faint);margin-bottom:8px;
}
.rc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;}
.rc-chip{
    font-size:11.5px;font-weight:500;
    border:1px solid var(--line);border-radius:20px;
    padding:4px 11px;color:var(--ink-soft);background:var(--paper);
}
.rc-chip--met{background:var(--teal-tint);border-color:#BFDCD7;color:var(--teal-deep);}
.rc-bar{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.rc-bar-name{font-size:12px;color:var(--ink-soft);width:86px;flex:none;}
.rc-track{flex:1;height:6px;background:var(--canvas);border-radius:4px;overflow:hidden;}
.rc-fill{display:block;height:100%;background:var(--teal);border-radius:4px;}
.rc-sign{
    margin-top:16px;padding-top:12px;
    border-top:1.5px dashed var(--line);
    display:flex;justify-content:space-between;align-items:center;
    font-size:12px;font-weight:600;
}
.rc-pending{
    font-size:10.5px;font-weight:600;color:var(--amber);
    background:var(--amber-tint);border:1px solid #E7C9A0;
    border-radius:20px;padding:3px 10px;
}

/* ---------- Stat band ---------- */
.stats{background:var(--ink);color:var(--paper);padding:44px 0;}
.stats-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:36px;
}
.stat-num{
    display:block;
    font-family:var(--font-mono);font-weight:500;
    font-size:clamp(1.5rem,2.6vw,2rem);
    color:#fff;margin-bottom:6px;letter-spacing:-0.01em;
}
.stat-label{font-size:13px;color:rgba(251,250,247,.65);line-height:1.45;display:block;max-width:15em;}

/* ---------- Sections ---------- */
.section{padding:96px 0;}
.section--canvas{background:var(--canvas);}
.section--ink{background:var(--ink);color:var(--paper);}
.section-head{margin-bottom:48px;max-width:44em;}
.section-sub{color:var(--ink-soft);margin-top:14px;font-size:1.05rem;}
.section-sub--light{color:rgba(251,250,247,.7);}

.two-col{
    display:grid;grid-template-columns:1fr 1fr;gap:40px;
    font-size:1.05rem;color:var(--ink-soft);max-width:60em;
}

/* ---------- Pathway ---------- */
.pathway{
    list-style:none;
    display:grid;grid-template-columns:repeat(5,1fr);gap:0;
    counter-reset:step;
    border-top:1px solid var(--line);
}
.path-step{
    padding:28px 22px 8px 0;
    border-right:1px solid var(--line);
    padding-left:22px;
    position:relative;
}
.path-step:first-child{padding-left:0;}
.path-step:last-child{border-right:none;}
.path-num{
    font-family:var(--font-mono);font-size:12px;font-weight:500;
    color:var(--teal-deep);
    display:inline-flex;align-items:center;justify-content:center;
    width:26px;height:26px;border:1.5px solid var(--teal);border-radius:50%;
    margin-bottom:14px;background:var(--paper);
}
.path-step h3{margin-bottom:8px;}
.path-step p{font-size:13.5px;color:var(--ink-soft);}
.path-step--human .path-num{background:var(--teal);color:#fff;}
.path-step--human strong{color:var(--teal-deep);}

/* ---------- Platform ---------- */
.doors{
    display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:56px;
}
.door{
    background:#fff;border:1px solid var(--line);border-radius:10px;
    padding:32px 34px;
}
.door-tag{
    font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--teal-deep);margin-bottom:12px;
}
.door h3{font-family:var(--font-display);font-weight:600;font-size:1.4rem;margin-bottom:12px;}
.door>p{color:var(--ink-soft);font-size:14.5px;margin-bottom:18px;}
.door-list{list-style:none;}
.door-list li{
    position:relative;padding:7px 0 7px 24px;
    font-size:14px;color:var(--ink-soft);
    border-top:1px solid var(--line);
}
.door-list li::before{
    content:"";position:absolute;left:2px;top:14px;
    width:7px;height:7px;border-radius:50%;background:var(--teal);
}

.caps{
    display:grid;grid-template-columns:repeat(4,1fr);gap:28px;
    border-top:1px solid var(--line);padding-top:40px;
}
.cap h4{margin-bottom:8px;}
.cap p{font-size:13.5px;color:var(--ink-soft);}

/* ---------- Principles ---------- */
.underline-amber{
    box-shadow:inset 0 -0.28em 0 rgba(180,83,9,.45);
}
.principles{
    display:grid;grid-template-columns:repeat(4,1fr);gap:32px;
    border-top:1px solid var(--line-ink);padding-top:40px;
}
.principle h4{color:#fff;margin-bottom:8px;}
.principle p{font-size:13.5px;color:rgba(251,250,247,.68);}

/* ---------- Team ---------- */
.team-grid{
    display:grid;grid-template-columns:repeat(2,minmax(0,340px));gap:28px;
}
.member{
    background:#fff;border:1px solid var(--line);border-radius:10px;
    padding:30px 30px 26px;
}
.member-mono{
    font-family:var(--font-mono);font-size:15px;font-weight:500;
    width:52px;height:52px;border-radius:50%;
    background:var(--teal-tint);color:var(--teal-deep);
    display:flex;align-items:center;justify-content:center;
    margin-bottom:18px;border:1px solid #BFDCD7;
}
.member h3{margin-bottom:2px;}
.member-role{
    font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;
    text-transform:uppercase;color:var(--teal-deep);margin-bottom:12px;
}
.member p:last-child{font-size:14px;color:var(--ink-soft);}
.team-note{
    margin-top:28px;font-size:14px;color:var(--ink-soft);
    border-left:3px solid var(--teal);padding-left:16px;max-width:44em;
}

/* ---------- Contact ---------- */
.contact-grid{
    display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start;
}
.contact-copy>p{color:var(--ink-soft);margin-top:16px;max-width:30em;}
.contact-details{margin-top:30px;}
.contact-details p{display:flex;gap:16px;padding:10px 0;border-top:1px solid var(--line);font-size:14.5px;}
.detail-label{
    font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;
    text-transform:uppercase;color:var(--ink-faint);width:52px;flex:none;padding-top:2px;
}
.contact-details a{color:var(--teal-deep);font-weight:500;text-decoration:none;}
.contact-details a:hover{text-decoration:underline;}

.contact-form{
    background:#fff;border:1px solid var(--line);border-radius:10px;
    padding:34px;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-group{margin-bottom:18px;}
.form-group label{
    display:block;font-size:13px;font-weight:600;margin-bottom:6px;
}
.form-group input,
.form-group select,
.form-group textarea{
    width:100%;
    font-family:var(--font-body);font-size:15px;color:var(--ink);
    padding:11px 13px;
    border:1.5px solid var(--line);border-radius:6px;
    background:var(--paper);
    transition:border-color .15s ease,box-shadow .15s ease;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
    outline:none;border-color:var(--teal);
    box-shadow:0 0 0 3px rgba(15,110,102,.14);
}
.form-group textarea{resize:vertical;}

/* ---------- Footer ---------- */
.footer{background:var(--ink);color:var(--paper);padding:56px 0 28px;}
.footer-grid{
    display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;
    padding-bottom:36px;border-bottom:1px solid var(--line-ink);
}
.footer-brand p{margin-top:10px;font-size:13.5px;color:rgba(251,250,247,.6);max-width:24em;}
.footer-links{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start;}
.footer-links a{
    text-decoration:none;font-size:13.5px;color:rgba(251,250,247,.75);
}
.footer-links a:hover{color:#fff;}
.footer-bottom{
    display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
    padding-top:22px;
    font-size:12.5px;color:rgba(251,250,247,.5);
}
.footer-ref{font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:none;}

@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    .reveal{opacity:1;transform:none;transition:none;}
    .btn{transition:none;}
}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
    .pathway{grid-template-columns:repeat(2,1fr);border-top:none;}
    .path-step{border-right:none;border-top:1px solid var(--line);padding-left:0;}
    .caps{grid-template-columns:repeat(2,1fr);}
    .principles{grid-template-columns:repeat(2,1fr);}
    .stats-grid{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:860px){
    .hero-grid{grid-template-columns:1fr;gap:48px;}
    .hero{padding:64px 0;}
    .doors{grid-template-columns:1fr;}
    .contact-grid{grid-template-columns:1fr;gap:40px;}
    .team-grid{grid-template-columns:1fr;}
    .two-col{grid-template-columns:1fr;gap:20px;}

    .nav-links{
        position:fixed;inset:68px 0 auto 0;
        background:var(--paper);
        flex-direction:column;gap:0;
        border-bottom:1px solid var(--line);
        transform:translateY(-130%);
        transition:transform .25s ease;
        z-index:999;
    }
    .nav-links.open{transform:none;}
    .nav-links a{padding:16px 24px;border-bottom:1px solid var(--line);}
    .nav-toggle{display:block;}
    .nav-cta{display:none;}
}

@media (max-width:560px){
    .pathway{grid-template-columns:1fr;}
    .caps{grid-template-columns:1fr;}
    .principles{grid-template-columns:1fr;}
    .stats-grid{grid-template-columns:1fr 1fr;gap:26px;}
    .form-row{grid-template-columns:1fr;gap:0;}
    .section{padding:72px 0;}
}
