/* Portfolio page additions — follows the main SN Tech Solutions navy/cyan theme. */
.portfolio-hero{min-height:calc(100vh - 82px);padding:72px 8%;display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:center;position:relative;overflow:hidden;background:linear-gradient(120deg,#061a38 0%,#0b376c 70%,#075ca8 100%);color:#fff}
.portfolio-hero:before,.portfolio-hero:after{content:"";position:absolute;border:1px solid #ffffff13;border-radius:50%;pointer-events:none}.portfolio-hero:before{width:520px;height:520px;right:-150px;top:-220px;box-shadow:0 0 0 40px #ffffff05,0 0 0 85px #ffffff04}.portfolio-hero:after{width:300px;height:300px;left:-190px;bottom:-190px;box-shadow:0 0 0 35px #ffffff05}
.portfolio-hero-copy{position:relative;z-index:2;max-width:700px}.portfolio-hero .section-kicker{color:var(--cyan);font-size:.76rem;font-weight:800;letter-spacing:2px;display:flex;align-items:center;gap:10px}.tiny-line{display:inline-block;width:25px;height:2px;background:var(--cyan)}.portfolio-intro{font-size:1.2rem;color:#d7e8fb;margin:20px 0 10px}.portfolio-intro strong{color:#fff}.portfolio-hero h1{font-size:clamp(2.6rem,4.7vw,4.35rem);line-height:1.1;letter-spacing:-1.8px;margin-bottom:22px}.portfolio-hero h1 span{color:var(--cyan)}.portfolio-lead{max-width:640px;color:#d0e0f4;font-size:.98rem;line-height:1.9}.portfolio-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.portfolio-outline{border-color:#ffffff65;color:#fff;background:#ffffff09}.portfolio-chips{display:flex;flex-wrap:wrap;gap:18px;margin-top:27px;font-size:.76rem;color:#d8e9fb}.portfolio-chips i{color:var(--cyan);margin-right:6px}.portfolio-hero-visual{min-height:440px;display:flex;align-items:center;justify-content:center;position:relative;z-index:2}.portfolio-photo-frame{width:min(355px,78%);aspect-ratio:4/5;border-radius:190px 190px 35px 35px;padding:8px;background:linear-gradient(135deg,var(--cyan),#fff 42%,var(--blue));box-shadow:0 20px 65px #0005;overflow:hidden}.portfolio-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:inherit;filter:grayscale(100%)}.portfolio-float{position:absolute;display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:13px;background:#fff;color:var(--navy);box-shadow:0 14px 35px #0003;min-width:195px}.portfolio-float>i{width:39px;height:39px;border-radius:11px;display:grid;place-items:center;background:#e7f7ff;color:var(--blue);font-size:1.1rem}.portfolio-float b,.portfolio-float small{display:block}.portfolio-float b{font-size:.8rem}.portfolio-float small{font-size:.66rem;color:var(--muted)}.portfolio-float-one{top:65px;left:-5px}.portfolio-float-two{bottom:55px;right:-8px}.portfolio-about{background:#fff}.profile-facts{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.profile-fact{display:flex;align-items:flex-start;gap:14px;padding:23px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 24px #061d4205}.fact-icon,.skill-icon{flex-shrink:0;width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:#e7f7ff;color:var(--blue);font-size:1.15rem}.profile-fact small{color:var(--blue);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:1px}.profile-fact h3{font-size:.96rem;color:var(--navy);line-height:1.4;margin:5px 0}.profile-fact p{font-size:.8rem;color:var(--muted)}.portfolio-skills{background:var(--pale)}.skill-groups{max-width:1120px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.skill-card{padding:22px;border:1px solid #dfeafa;background:#fff;border-radius:16px}.skill-card h3{color:var(--navy);font-size:1rem;margin:13px 0}.skill-tags,.project-tags{display:flex;gap:7px;flex-wrap:wrap}.skill-tags span,.project-tags span{font-size:.68rem;padding:5px 9px;border-radius:7px;background:#edf6ff;color:#285079;border:1px solid #dfedfc}.skills-note{max-width:1120px;margin:20px auto 0;color:var(--muted);font-size:.75rem}.skills-note i{color:var(--blue);margin-right:5px}.portfolio-projects{background:#fff}.project-grid{max-width:1120px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.project-card{padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:transform .2s,box-shadow .2s}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.project-featured{background:linear-gradient(145deg,#f3fbff,#fff);border-color:#bdeafa}.project-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.project-symbol{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;font-size:1.2rem}.project-type{font-size:.68rem;color:#0877b6;background:#e7faff;padding:6px 9px;border-radius:7px;font-weight:700}.project-card h3{font-size:1.18rem;line-height:1.4;color:var(--navy);margin-bottom:10px}.project-card>p{font-size:.86rem;color:var(--muted);min-height:60px}.project-tags{margin:15px 0}.project-card ul{list-style:none;border-top:1px solid #e8eff7;padding-top:13px}.project-card li{font-size:.79rem;color:#435671;margin:7px 0}.project-card li:before{content:'✓';font-weight:800;color:var(--blue);margin-right:8px}.project-note{max-width:1120px;display:flex;align-items:center;gap:15px;padding:18px 20px;margin:20px auto 0;border:1px dashed #b6d5f4;border-radius:13px;background:#f7fbff;color:var(--muted);font-size:.82rem}.project-note>i{font-size:1.35rem;color:var(--blue)}.project-note strong{color:var(--navy)}.portfolio-experience{background:var(--pale)}.timeline{max-width:900px;margin:auto;display:grid;gap:17px}.timeline-item{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:start}.timeline-marker{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;box-shadow:0 8px 20px #1479e826}.timeline-content{background:#fff;border:1px solid var(--line);border-radius:16px;padding:23px}.timeline-meta{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;font-weight:800;color:var(--blue)}.timeline-content h3{color:var(--navy);font-size:1.05rem;margin:6px 0}.timeline-content p{color:var(--muted);font-size:.85rem;margin-bottom:13px}.portfolio-education{padding-top:0;background:var(--pale)}.education-panel{max-width:900px;margin:auto;display:flex;align-items:center;gap:22px;padding:27px 30px;background:linear-gradient(120deg,#071b3b,#0c3e79);color:#fff;border-radius:19px;position:relative;overflow:hidden}.education-icon{width:58px;height:58px;flex-shrink:0;display:grid;place-items:center;border-radius:16px;background:#ffffff13;color:var(--cyan);font-size:1.5rem}.education-panel .section-kicker{font-size:.7rem;color:var(--cyan);font-weight:800;letter-spacing:1.5px}.education-panel h2{font-size:1.35rem;margin:4px 0}.education-panel p:last-child{font-size:.82rem;color:#d0e0f4}.education-stamp{margin-left:auto;font-size:3.5rem;font-weight:800;color:#ffffff18}.portfolio-contact-card{background:#fff;color:var(--navy);padding:32px;border-radius:19px;text-align:center;box-shadow:0 20px 55px #0002}.contact-card-mark{width:57px;height:57px;border-radius:16px;display:grid;place-items:center;margin:0 auto 16px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;font-weight:800;font-size:1.2rem}.portfolio-contact-card p{color:var(--muted);font-size:.82rem}.portfolio-contact-card h3{font-size:1.35rem;margin:5px 0 20px;color:var(--navy)}.portfolio-contact-card .btn{width:100%}.portfolio-email-link{display:inline-block;color:var(--blue);font-size:.8rem;font-weight:700;margin-top:14px}
@media(max-width:1000px){.portfolio-hero{padding-left:6%;padding-right:6%;gap:20px}.skill-groups{grid-template-columns:repeat(2,1fr)}.profile-facts{grid-template-columns:1fr}.portfolio-float-one{left:-18px}.portfolio-float-two{right:-12px}}
@media(max-width:760px){.portfolio-hero{grid-template-columns:1fr;text-align:center;padding:55px 6% 65px}.portfolio-hero .section-kicker,.portfolio-actions,.portfolio-chips{justify-content:center}.portfolio-hero-visual{min-height:390px;margin-top:12px}.portfolio-photo-frame{width:min(300px,70%)}.portfolio-float-one{left:0;top:30px}.portfolio-float-two{right:0;bottom:35px}.project-grid{grid-template-columns:1fr}.project-card>p{min-height:0}.education-stamp{display:none}.portfolio-contact .contact-grid{grid-template-columns:1fr}}
@media(max-width:500px){.portfolio-hero h1{font-size:2.45rem;letter-spacing:-1px}.portfolio-lead{font-size:.88rem}.portfolio-hero-visual{min-height:335px}.portfolio-photo-frame{width:68%}.portfolio-float{min-width:168px;padding:10px;gap:8px}.portfolio-float b{font-size:.72rem}.portfolio-float small{font-size:.58rem}.portfolio-float>i{width:33px;height:33px}.portfolio-float-one{left:-5px;top:18px}.portfolio-float-two{right:-5px;bottom:30px}.portfolio-chips{gap:9px;font-size:.68rem}.skill-groups{grid-template-columns:1fr}.timeline-item{grid-template-columns:40px 1fr;gap:10px}.timeline-marker{width:39px;height:39px}.timeline-content{padding:17px}.education-panel{padding:22px;align-items:flex-start}.education-panel h2{font-size:1.1rem}.portfolio-contact-card{padding:24px}}

/* Photo-free portfolio: hero is text-only; About section contains qualifications. */
