/* Shared multi-page layout and portrait-led home page. */
.header{padding-top:20px;padding-bottom:20px}nav{gap:28px}main{min-height:calc(100svh - 180px)}
.portrait-hero{position:relative;min-height:800px;height:calc(100svh - 83px);max-height:1100px;isolation:isolate;overflow:hidden;background:#080b10}
.portrait-photo{position:absolute;z-index:-3;inset:0 0 0 35%;background:url('assets/ved-portrait.jpeg') center 8%/cover no-repeat}
.portrait-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#080b10 2%,#080b10f5 22%,#080b10bf 42%,#080b1020 68%,#080b1000 100%),linear-gradient(0deg,#080b10 0%,transparent 24%)}
.portrait-copy{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;height:100%;padding-top:55px;padding-bottom:100px;max-width:1440px;width:100%}
.intro-label{color:#8fa5be;font-size:9px;letter-spacing:2px;margin:0 0 28px}.person-name{font-size:19px;font-weight:400;letter-spacing:.2px;color:#d8e3f4;margin:0 0 17px}
.portrait-copy h1{font-size:clamp(58px,6.1vw,88px);letter-spacing:-4px;line-height:1.03;margin:0 0 26px;font-weight:500}.portrait-copy h1 em{letter-spacing:-4px;font-weight:400}
.portrait-bio{max-width:460px;color:#b4c0d1;font-size:16px;line-height:1.85;margin:0}.hero-qualification{font:10px/1.6 Consolas,monospace;letter-spacing:.6px;color:#91a0b7;margin:18px 0 0}.portrait-copy .hero-actions{margin:28px 0 25px;gap:25px}.availability{font:9px/1.8 Consolas,monospace;color:#a6b8ca;margin:0}.availability .status-dot{width:5px;height:5px;margin-right:7px}
.portrait-bottom{position:absolute;left:6%;right:6%;bottom:26px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff1c;padding-top:19px;font:8px/1.6 Consolas,monospace;letter-spacing:1.7px;color:#8fa2b7}.portrait-bottom a{color:#c5d3e5}.portrait-bottom a span{margin-left:20px;color:var(--mint)}
.home-approach{padding-top:100px}.approach-intro{max-width:700px;font-size:17px;color:#a2b1c5;line-height:1.85;margin:32px 0 40px}.domain-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.domain-card{display:block;position:relative;border:1px solid #2a3a4d;border-radius:14px;background:linear-gradient(140deg,#162332,#0e1721);padding:35px;transition:transform .25s,border-color .25s}.domain-card:nth-child(2){background:linear-gradient(140deg,#1a2339,#101622)}.domain-card:hover{transform:translateY(-6px);border-color:#769eb2}.domain-card .eyebrow{font-size:9px}.domain-symbol{display:block;color:var(--mint);font:42px/1 Consolas,monospace;margin:32px 0 22px}.domain-card h3{font-size:30px;line-height:1.2;letter-spacing:-1px}.domain-card p{font-size:14px;color:#9eafc6;max-width:380px}.domain-link{display:block;margin-top:30px;color:#c2d5ee;font-size:12px}.domain-card .tags{margin-top:25px}.home-invitation{padding-top:20px;padding-bottom:90px}.home-invitation h2{margin-bottom:30px}
.page-work .work{padding-top:65px}.page-about .about{border-top:0;padding-top:75px}.page-about .about-grid{align-items:start}.page-about .about h2{font-size:50px}.engineering-focus h2{margin-bottom:40px}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:35px}.principle-grid article{padding-top:22px;border-top:1px solid var(--line)}.principle-grid article>span{font:12px Consolas,monospace;color:var(--mint)}.principle-grid h3{font-size:22px;margin-top:20px}.principle-grid p{font-size:14px;color:#9aabc3;line-height:1.8}.page-contact .contact{padding-top:100px;padding-bottom:45px}.contact-lead{max-width:600px;color:#a7b7cb;font-size:16px;line-height:1.8;margin:30px 0}.contact-note{display:flex;align-items:center;gap:20px;padding-top:0;padding-bottom:90px}.contact-note p{font-size:13px;color:#94a6bc;max-width:510px;margin-right:auto}.contact-note .button{flex-shrink:0}.page-contact .contact h2{font-size:70px}.page-contact .contact h2 em{letter-spacing:-3px}
@media(min-width:1600px){.portrait-photo{left:40%;background-position:center 8%}.portrait-copy{padding-left:8%}.portrait-shade{background:linear-gradient(90deg,#080b10 14%,#080b10eb 34%,#080b1080 51%,transparent 70%),linear-gradient(0deg,#080b10,transparent 25%)}}
@media(max-width:1000px){.portrait-hero{min-height:780px}.portrait-copy h1{font-size:65px}.portrait-photo{left:28%;background-position:58% 8%}.portrait-shade{background:linear-gradient(90deg,#080b10f5,#080b10c9 35%,#080b1050 65%,#080b1010),linear-gradient(0deg,#080b10,transparent 30%)}.portrait-bio{max-width:390px}.portrait-copy{padding-top:40px}.domain-card{padding:27px}.page-contact .contact h2{font-size:55px}}
@media(max-width:640px){.header{padding:17px 5%;gap:10px}nav{gap:13px;font-size:11px}.resume-link{font-size:0;padding:0;border:0}.resume-link span{font-size:20px;margin:0}.brand{font-size:28px}.portrait-hero{height:auto;min-height:930px;max-height:none;display:flex;align-items:flex-end}.portrait-photo{inset:0 0 auto 0;height:640px;background-position:center 22%;background-size:cover}.portrait-shade{background:linear-gradient(0deg,#080b10 0%,#080b10 20%,#080b10e0 43%,#080b1035 70%,#080b1000 100%)}.portrait-copy{display:block;height:auto;padding-top:345px;padding-bottom:110px}.intro-label{font-size:7px;letter-spacing:1.2px;margin-bottom:14px}.person-name{font-size:15px;margin-bottom:14px}.portrait-copy h1{font-size:53px;line-height:1.02;letter-spacing:-2.5px;margin-bottom:22px}.portrait-copy h1 em{letter-spacing:-2.5px}.portrait-bio{font-size:14px;max-width:380px;line-height:1.8}.hero-qualification{font-size:8px}.portrait-copy .hero-actions{gap:19px;margin:24px 0}.portrait-copy .button{font-size:11px;padding:13px 15px;gap:17px}.portrait-copy .text-link{font-size:11px}.availability{font-size:8px;max-width:310px}.portrait-bottom{bottom:25px;font-size:6px;letter-spacing:.6px;gap:10px}.portrait-bottom a span{margin-left:5px}.domain-grid,.principle-grid{grid-template-columns:1fr}.home-approach{padding-top:55px}.home-approach h2{font-size:34px}.home-approach .section-heading>a{display:inline-block;margin-top:23px}.approach-intro{font-size:15px;margin:25px 0}.domain-card h3{font-size:28px}.home-invitation{padding-bottom:55px}.home-invitation h2{font-size:36px}.page-about .about h2{font-size:39px}.page-about .about,.page-work .work{padding-top:45px}.page-contact .contact{padding-top:55px}.page-contact .contact h2{font-size:42px}.contact-lead{font-size:14px}.contact-note{flex-wrap:wrap;padding-bottom:55px;gap:10px}.contact-note>span{display:none}.contact-note p{max-width:none}.contact-note .button{margin-top:12px}.principle-grid{gap:20px}.engineering-focus h2{font-size:35px}}
@media(max-width:360px){nav{gap:9px}.portrait-copy h1{font-size:46px}.portrait-copy .hero-actions{gap:12px}.portrait-copy .text-link{font-size:10px}}

/* Original VP monogram, shared across every page. */
.brand{display:inline-flex;align-items:center;flex-shrink:0;letter-spacing:0;border-radius:12px}.brand img{display:block;width:48px;height:48px;transition:filter .25s,transform .25s}.brand:hover img{filter:drop-shadow(0 0 9px #75f0c330);transform:translateY(-2px)}footer .brand img{width:40px;height:40px}.header{padding-top:15px;padding-bottom:15px}@media(max-width:640px){.brand img{width:38px;height:38px}.header{padding-top:13px;padding-bottom:13px}footer .brand img{width:34px;height:34px}}

/* Public contact page uses email and location. */
.contact-details{grid-template-columns:1.6fr 1fr}.contact-details>div:last-child{grid-column:auto;grid-row:auto}@media(max-width:640px){.contact-details{grid-template-columns:1fr}}
