:root{
    --pv-navy:#071a33;
    --pv-navy-2:#0b2f5d;
    --pv-blue:#0b5ed7;
    --pv-cyan:#15a9e8;
    --pv-ink:#162033;
    --pv-muted:#64748b;
    --pv-line:#dbe4ee;
    --pv-soft:#f5f8fc;
}
.portfolio-v2{color:var(--pv-ink);background:#fff;overflow:hidden}
.portfolio-v2 *,.portfolio-v2 *::before,.portfolio-v2 *::after{box-sizing:border-box}
.pv-container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.pv-hero{padding:112px 0 98px;color:#fff;background:radial-gradient(circle at 78% 12%,rgba(21,169,232,.24),transparent 34%),linear-gradient(135deg,var(--pv-navy),var(--pv-navy-2) 60%,var(--pv-blue))}
.pv-hero-grid,.pv-two{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:64px;align-items:center}
.pv-eyebrow{display:inline-block;margin-bottom:16px;font-size:.78rem;line-height:1.4;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--pv-cyan)}
.pv-hero h1{margin:0 0 24px;font-size:clamp(2.8rem,6vw,5.25rem);line-height:.99;letter-spacing:-.055em;color:#fff}
.pv-lead{font-size:clamp(1.08rem,2vw,1.34rem);line-height:1.72;color:rgba(255,255,255,.94)}
.pv-hero p:not(.pv-lead){line-height:1.78;color:rgba(255,255,255,.78)}
.pv-hero-card{padding:34px;border:1px solid rgba(255,255,255,.21);border-radius:26px;background:rgba(255,255,255,.10);box-shadow:0 30px 80px rgba(0,0,0,.20);backdrop-filter:blur(12px)}
.pv-hero-card>span{display:block;margin-bottom:22px;font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#8edcff}
.pv-hero-card blockquote{margin:0 0 22px;font-size:clamp(1.45rem,3vw,2.05rem);line-height:1.25;font-weight:750;letter-spacing:-.025em;color:#fff}
.pv-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.pv-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:1px solid transparent;border-radius:10px;font-weight:750;text-decoration:none;transition:transform .2s ease}
.pv-btn:hover{transform:translateY(-2px)}
.pv-btn-primary,.pv-btn-light{background:#fff;color:var(--pv-navy)}
.pv-btn-secondary,.pv-btn-outline{border-color:rgba(255,255,255,.45);color:#fff}
.pv-section{padding:92px 0}
.pv-soft{background:var(--pv-soft)}
.pv-dark{background:var(--pv-navy);color:#fff}
.pv-accent{background:linear-gradient(135deg,#eaf4ff,#f8fbff)}
.pv-section h2,.pv-cta h2{margin:0;font-size:clamp(2rem,4vw,3.55rem);line-height:1.08;letter-spacing:-.04em}
.pv-copy p,.pv-heading p{font-size:1.04rem;line-height:1.8;color:var(--pv-muted)}
.pv-heading{max-width:820px;margin-bottom:44px}
.pv-light p,.pv-dark p{color:rgba(255,255,255,.72)}
.pv-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.pv-project{padding:34px;border:1px solid var(--pv-line);border-radius:22px;background:#fff;box-shadow:0 14px 42px rgba(15,40,80,.07)}
.pv-project-featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:36px}
.pv-project-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.pv-project-meta span{padding:7px 10px;border-radius:999px;background:#edf5ff;color:var(--pv-blue);font-size:.76rem;font-weight:800}
.pv-project h3,.pv-four h3,.pv-process h3{margin:0 0 12px;font-size:1.34rem}
.pv-project p{line-height:1.75;color:var(--pv-muted)}
.pv-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.pv-tags span{padding:8px 10px;border:1px solid var(--pv-line);border-radius:9px;font-size:.78rem;font-weight:700;color:#334155}
.pv-project-outcomes{padding:28px;border-radius:18px;background:#f2f7fd}
.pv-project-outcomes h4{margin:0 0 14px}
.pv-project-outcomes ul,.pv-checks{list-style:none;padding:0;margin:0}
.pv-project-outcomes li{padding:10px 0;border-bottom:1px solid #dbe6f2}
.pv-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.pv-four article{padding:28px 24px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(255,255,255,.055)}
.pv-four p{margin:0;line-height:1.72}
.pv-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:0}
.pv-process li{padding:28px;border:1px solid var(--pv-line);border-radius:18px;background:#fff}
.pv-process b{display:block;margin-bottom:20px;color:var(--pv-blue)}
.pv-process p{margin:0;line-height:1.72;color:var(--pv-muted)}
.pv-checks{display:grid;gap:16px}
.pv-checks li{position:relative;padding-left:34px;font-size:1.04rem;line-height:1.55}
.pv-checks li::before{content:"✓";position:absolute;left:0;color:var(--pv-blue);font-weight:900}
.pv-faq{display:grid;gap:14px}
.pv-faq details{border:1px solid var(--pv-line);border-radius:14px;background:#fff;overflow:hidden}
.pv-faq summary{cursor:pointer;position:relative;padding:22px 56px 22px 22px;font-weight:800;list-style:none}
.pv-faq summary::-webkit-details-marker{display:none}
.pv-faq summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--pv-blue)}
.pv-faq details[open] summary::after{content:"−"}
.pv-faq p{margin:0;padding:0 22px 22px;line-height:1.75;color:var(--pv-muted)}
.pv-cta{padding:92px 0;text-align:center;color:#fff;background:linear-gradient(135deg,var(--pv-navy-2),var(--pv-blue))}
.pv-cta p{max-width:780px;margin:22px auto 0;line-height:1.75;color:rgba(255,255,255,.82)}
.pv-center{justify-content:center}
@media(max-width:980px){
    .pv-hero-grid,.pv-two,.pv-project-featured{grid-template-columns:1fr;gap:36px}
    .pv-four,.pv-process{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
    .pv-container{width:min(100% - 28px,1180px)}
    .pv-hero{padding:78px 0 66px}
    .pv-section,.pv-cta{padding:68px 0}
    .pv-projects,.pv-four,.pv-process{grid-template-columns:1fr}
    .pv-project-featured{grid-column:auto}
    .pv-actions{flex-direction:column}
    .pv-btn{width:100%}
    .pv-project{padding:26px}
}
