/*
Theme Name: Leadership Portfolio
Description: Dynamic professional portfolio with privacy-aware project disclosure.
Version: 5.0.0
*/
:root{--navy:#071a33;--blue:#1268d6;--ink:#12233d;--muted:#65758a;--line:#dce5ef;--soft:#f5f8fc;--white:#fff;--shadow:0 16px 44px rgba(9,31,60,.10);--max:1180px;--green:#177a62;--gold:#9a6a14;--purple:#7258aa}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{text-decoration:none;color:inherit}img{max-width:100%}.wrap{width:min(var(--max),calc(100% - 38px));margin:auto}
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.93);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;color:var(--navy)}.brand small{display:block;color:var(--muted);font-size:.72rem;font-weight:700}.menu{display:flex;gap:26px}.menu a{font-size:.93rem;color:#405067}.menu a:hover{color:var(--blue)}
.hero{background:linear-gradient(135deg,#06162c 0%,#0a2447 58%,#0b3970 100%);color:#fff;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:54px;padding:82px 0}.hero h1{color:#fff;font-size:clamp(2.9rem,5.5vw,5rem);line-height:1.03;letter-spacing:-.045em;margin:0}.hero .lead{color:#d4e0ed}.eyebrow{color:#59a3ff;text-transform:uppercase;font-size:.78rem;letter-spacing:.13em;font-weight:900;margin-bottom:14px}.lead{font-size:1.08rem;color:var(--muted);max-width:760px}.headshot-card{justify-self:end;position:relative}.headshot{width:320px;height:370px;object-fit:cover;object-position:center 24%;border-radius:28px;box-shadow:0 26px 70px rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.25)}.headshot-card:after{content:"";position:absolute;inset:28px -26px -26px 30px;border:1px solid rgba(89,163,255,.36);border-radius:28px;z-index:-1}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;padding:12px 18px;border-radius:10px;font-weight:800;border:1px solid}.btn.primary{background:#1472e6;border-color:#1472e6;color:#fff}.btn.secondary{border-color:#7690ad;color:#fff}.btn.ink{border-color:var(--navy);color:var(--navy);background:#fff}.section-action{margin-top:28px;text-align:center}
.section{padding:68px 0}.section.alt{background:var(--soft)}h2{font-size:clamp(2rem,3.6vw,3rem);line-height:1.05;letter-spacing:-.035em;margin:0;color:var(--navy)}h3{margin:0;color:var(--navy)}.section-head{margin-bottom:28px}.section-head .lead{margin-bottom:0}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card,.project-card,.resume-card,.panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.card{padding:24px}.card p,.project-card p,.panel p{color:var(--muted)}.icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,var(--navy),#154e90);color:#fff;margin-bottom:16px;font-size:1.3rem}
.metrics{margin-top:28px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.metric{padding:21px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric strong{display:block;color:var(--navy);font-size:1.13rem}.metric span{color:var(--muted);font-size:.84rem}
.page-hero{padding:62px 0 44px;background:linear-gradient(135deg,#fff,#edf5fd);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(2.7rem,5vw,4.4rem);margin:0;color:var(--navy);letter-spacing:-.045em}.privacy-strip{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.privacy-strip span{padding:8px 11px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.79rem;color:var(--muted)}.privacy-strip strong{color:var(--navy)}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-card{overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.project-card:hover{transform:translateY(-3px);box-shadow:0 22px 54px rgba(9,31,60,.14)}.project-shot{height:190px;background:linear-gradient(135deg,#0a1d39,#153f78);display:grid;place-items:center;color:#87baff;font-weight:900;overflow:hidden}.project-shot img{width:100%;height:100%;object-fit:cover}.project-body{padding:22px}.project-kicker{min-height:18px;color:#4779b6;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:900;margin-bottom:6px}.status{display:inline-flex;margin:10px 0 3px;padding:5px 9px;border-radius:999px;background:#edf4ff;color:#1b61b6;font-size:.75rem;font-weight:800}.disclosure{font-size:.79rem;font-weight:800;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.disclosure-public{color:var(--green)}.disclosure-protected{color:var(--gold)}.disclosure-confidential{color:var(--purple)}.visibility-protected .project-body{background:linear-gradient(180deg,#fff,#fffdf7)}.visibility-confidential .project-body{background:linear-gradient(180deg,#fff,#fbf9ff)}
.resume-layout{display:grid;grid-template-columns:265px 1fr;max-width:1050px;margin:auto;background:#fff;border:1px solid var(--line);box-shadow:0 24px 70px rgba(8,31,61,.13);border-radius:20px;overflow:hidden}.resume-side{background:var(--navy);color:#fff;padding:34px 27px}.resume-side img{width:150px;height:150px;border-radius:50%;object-fit:cover;object-position:center 25%;display:block;margin:0 auto 24px;border:4px solid rgba(255,255,255,.15)}.resume-side h2{color:#fff;font-size:1.5rem;text-align:center}.resume-side p,.resume-side li{color:#dbe6f1;font-size:.85rem}.resume-main{padding:38px}.resume-main h1{font-size:2.25rem;margin:0;color:var(--navy)}.resume-main .roleline{font-weight:800;color:var(--blue);margin-top:4px}.rsection{padding:19px 0;border-bottom:1px solid var(--line)}.rsection:last-child{border:0}.rsection h3{text-transform:uppercase;font-size:.85rem;letter-spacing:.07em;margin-bottom:10px}.rjob{margin:15px 0}.rjob-head{display:flex;justify-content:space-between;gap:20px}.rjob-head strong{color:var(--navy)}.rjob-head span{font-size:.82rem;color:var(--muted);white-space:nowrap}.rjob ul{margin:8px 0 0 18px;padding:0}.rjob li{margin-bottom:5px;font-size:.89rem}.resume-disclosure{font-size:.76rem!important;color:#8a6b22!important;font-weight:700}
.footer{background:var(--navy);color:#fff;margin-top:55px}.footer-in{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer small{color:#d7e3ef}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.headshot-card{justify-self:start}.headshot{width:240px;height:280px}.grid3,.project-grid{grid-template-columns:1fr 1fr}.grid4,.metrics{grid-template-columns:1fr 1fr}.resume-layout{grid-template-columns:1fr}.resume-side{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:22px}.resume-side img{margin:0}}
@media(max-width:650px){.wrap{width:calc(100% - 26px)}.nav{height:auto;min-height:68px;padding:17px 0;align-items:flex-start;flex-direction:column;gap:10px}.menu{width:100%;gap:15px;overflow:auto}.menu a{white-space:nowrap}.hero-grid{padding:55px 0}.section{padding:48px 0}.grid3,.grid4,.project-grid,.metrics{grid-template-columns:1fr}.resume-side{display:block}.resume-main{padding:24px}.rjob-head{display:block}.rjob-head span{display:block;margin-top:3px}.footer-in{flex-direction:column;align-items:flex-start;padding:22px 0}}
@media print{.site-header,.footer,.no-print{display:none!important}.section{padding:0}.resume-layout{box-shadow:none;border:0;border-radius:0;grid-template-columns:1fr}.resume-side{display:none}.resume-main{padding:0}.resume-main h1{font-size:20pt}.rjob li{font-size:9pt}.rsection{break-inside:avoid}}

.editable-page-content{margin:0 0 28px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
/* =====================================
   MOBILE / TABLET COLLAPSIBLE NAVIGATION
   ===================================== */

.mobile-menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    padding: 9px;
    background: transparent;
    border: 0;
    cursor: pointer;
}

.mobile-menu-toggle span {
    display: block;
    width: 26px;
    height: 3px;
    margin: 5px auto;
    background: var(--navy);
    border-radius: 3px;
    transition: transform 0.25s ease,
                opacity 0.25s ease;
}

.mobile-menu-wrapper {
    display: flex;
}


/* Tablets and phones */
@media (max-width: 900px) {

    .nav {
        position: relative;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .mobile-menu-toggle {
        display: block;
        flex-shrink: 0;
    }

    .mobile-menu-wrapper {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;

        background: #ffffff;
        border-top: 1px solid var(--line);
        border-bottom: 1px solid var(--line);

        box-shadow: 0 14px 35px rgba(0,0,0,.10);

        padding: 12px 20px 18px;
    }

    .mobile-menu-wrapper.is-open {
        display: block;
    }

    .mobile-menu-wrapper .menu {
        display: flex;
        flex-direction: column;
        gap: 0;
        width: 100%;
    }

    .mobile-menu-wrapper .menu a {
        display: block;
        width: 100%;
        padding: 13px 4px;

        border-bottom: 1px solid var(--line);

        font-size: 1rem;
    }

    .mobile-menu-wrapper .menu a:last-child {
        border-bottom: 0;
    }


    /* Turn hamburger into X */

    .mobile-menu-toggle.is-open span:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    .mobile-menu-toggle.is-open span:nth-child(2) {
        opacity: 0;
    }

    .mobile-menu-toggle.is-open span:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }

}

.case-link{display:inline-block;margin-top:14px;color:var(--blue);font-weight:850;font-size:.84rem}.case-link:hover{text-decoration:underline}.case-hero{padding:68px 0 52px;background:linear-gradient(135deg,#06162c,#0b3970);color:#fff}.case-hero h1{font-size:clamp(2.6rem,5vw,4.7rem);line-height:1.02;letter-spacing:-.045em;margin:0;color:#fff}.case-lead{max-width:900px;font-size:1.12rem;color:#d8e4f0}.case-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.case-meta span{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);padding:8px 11px;border-radius:999px;font-size:.79rem}.case-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:42px;align-items:start}.case-content{font-size:1.01rem}.case-content ul{padding-left:22px}.case-content li{margin:9px 0}.case-side{border:1px solid var(--line);border-radius:18px;padding:22px;background:var(--soft);position:sticky;top:100px}.case-side h3{margin-top:0;margin-bottom:8px}.case-side p{color:var(--muted);font-size:.9rem}.demo-note{padding:16px 18px;border:1px solid #e8cf92;background:#fff9e8;border-radius:14px;color:#69501e;margin-bottom:24px}.case-gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px}.case-gallery figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.case-gallery img{width:100%;height:320px;object-fit:contain;background:#eef2f5;display:block}.case-gallery figcaption{padding:14px 16px;color:var(--muted);font-size:.82rem}.case-gallery figure:first-child{grid-column:1/-1}.case-gallery figure:first-child img{height:auto;max-height:650px;object-fit:contain}.project-shot img[alt*="SharePoint"]{object-position:center top}
@media(max-width:900px){.case-layout{grid-template-columns:1fr}.case-side{position:static}.case-gallery{grid-template-columns:1fr}.case-gallery figure:first-child{grid-column:auto}.case-gallery img{height:auto}}

/* v2.3 confidential alias card: deliberately contains no project asset */
.confidential-alias-card .confidential-lock{display:flex;align-items:center;justify-content:center;min-height:220px;background:linear-gradient(145deg,#131b26,#263142);color:#8ea0b8;font-size:42px;letter-spacing:2px}
.confidential-alias-card .confidential-lock span{display:inline-flex;width:72px;height:72px;border:1px solid #64748b;border-radius:18px;align-items:center;justify-content:center;background:#0f172a99}
.confidential-alias-card{border-style:dashed}


/* =========================================================
   MaigaTech Typography System v1
   Professional resume / executive technology portfolio scale
   ========================================================= */

:root {
    --font-sans: Inter, system-ui, -apple-system, BlinkMacSystemFont,
                 "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

    --text-xs: .8125rem;     /* 13px */
    --text-sm: .875rem;      /* 14px */
    --text-nav: .9375rem;    /* 15px */
    --text-base: 1rem;       /* 16px */
    --text-lead: 1.125rem;   /* 18px */
    --text-card-title: 1.25rem; /* 20px */

    --title-section: clamp(1.875rem, 3vw, 2.25rem); /* 30–36px */
    --title-page: clamp(2.25rem, 4vw, 3rem);       /* 36–48px */
    --title-hero: clamp(2.5rem, 4.5vw, 3.5rem);    /* 40–56px */
}

/* Base typography */
body {
    font-family: var(--font-sans);
    font-size: var(--text-base);
    line-height: 1.6;
}

/* Navigation */
.menu a {
    font-size: var(--text-nav);
    line-height: 1.35;
}

.brand small {
    font-size: .75rem;
    line-height: 1.35;
}

/* Hero and page titles */
.hero h1 {
    font-size: var(--title-hero);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.page-hero h1,
.case-hero h1 {
    font-size: var(--title-page);
    line-height: 1.1;
    letter-spacing: -.035em;
}

/* Section titles */
h2 {
    font-size: var(--title-section);
    line-height: 1.15;
    letter-spacing: -.025em;
}

/* Card / project titles */
h3,
.card h3,
.project-body h3 {
    font-size: var(--text-card-title);
    line-height: 1.3;
}

/* Introductory copy */
.lead,
.case-lead {
    font-size: var(--text-lead);
    line-height: 1.55;
}

/* Standard reading text */
.card p,
.project-card p,
.panel p,
.case-content {
    font-size: var(--text-base);
    line-height: 1.6;
}

/* Small labels and metadata */
.eyebrow {
    font-size: .75rem;
    line-height: 1.35;
}

.project-kicker,
.status,
.disclosure,
.privacy-strip span,
.case-meta span,
.case-gallery figcaption,
.footer small {
    font-size: var(--text-xs);
    line-height: 1.4;
}

/* Metrics */
.metric strong {
    font-size: var(--text-card-title);
    line-height: 1.25;
}

.metric span {
    font-size: var(--text-sm);
    line-height: 1.45;
}

/* Links and buttons */
.case-link {
    font-size: var(--text-sm);
    line-height: 1.4;
}

.btn {
    font-size: var(--text-nav);
    line-height: 1.2;
}

/* Case-study sidebar */
.case-side p {
    font-size: var(--text-sm);
    line-height: 1.55;
}

/* Resume */
.resume-main h1 {
    font-size: 2.25rem;
    line-height: 1.15;
}

.resume-side h2 {
    font-size: 1.5rem;
    line-height: 1.2;
}

.resume-side p,
.resume-side li {
    font-size: var(--text-sm);
    line-height: 1.55;
}

.resume-main .roleline {
    font-size: var(--text-base);
    line-height: 1.5;
}

.rsection h3 {
    font-size: var(--text-sm);
    line-height: 1.3;
}

.rjob li {
    font-size: var(--text-nav);
    line-height: 1.55;
}

.rjob-head span,
.resume-disclosure {
    font-size: var(--text-sm);
    line-height: 1.45;
}

/* Mobile typography */
@media (max-width: 650px) {
    .menu a {
        font-size: 1rem;
    }

    .hero h1 {
        font-size: clamp(2.25rem, 11vw, 2.75rem);
    }

    .page-hero h1,
    .case-hero h1 {
        font-size: clamp(2rem, 9vw, 2.5rem);
    }

    h2 {
        font-size: clamp(1.75rem, 7.5vw, 2rem);
    }
}