/* =========================================================
   PORTFOLIO — V4
========================================================= */

.portfolio-hero{
    position:relative;
    overflow:hidden;
    padding:175px 0 115px;
    background:
        radial-gradient(circle at 82% 22%, rgba(57,196,255,.14), transparent 34%),
        linear-gradient(180deg,#07111f,#0a1628);
    border-bottom:1px solid rgba(255,255,255,.07);
}

.portfolio-hero-glow{
    position:absolute;
    width:720px;
    height:720px;
    right:-260px;
    top:-300px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(47,143,255,.22),transparent 68%);
    filter:blur(55px);
    pointer-events:none;
}

.portfolio-hero-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
    gap:80px;
    align-items:end;
}

.portfolio-hero h1{
    max-width:830px;
    margin:0 0 28px;
    font-size:clamp(52px,6vw,82px);
    line-height:1;
}

.portfolio-hero h1 em{display:block;}

.portfolio-hero p{
    max-width:700px;
    margin:0;
    color:#b7c6d9;
    font-size:18px;
}

.portfolio-summary{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    overflow:hidden;
    border:1px solid rgba(255,255,255,.09);
    border-radius:22px;
    background:rgba(255,255,255,.035);
    backdrop-filter:blur(18px);
}

.portfolio-summary div{
    padding:30px 22px;
    text-align:center;
}

.portfolio-summary div:not(:last-child){border-right:1px solid rgba(255,255,255,.08);}
.portfolio-summary strong{display:block;color:#39c4ff;font-size:28px;margin-bottom:7px;}
.portfolio-summary span{display:block;color:#9fb0c7;font-size:12px;line-height:1.45;}

.portfolio-showcase{background:#081321;}

.portfolio-intro{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:end;
    margin-bottom:75px;
}

.portfolio-intro h2{margin:0;}
.portfolio-intro > p{margin:0;color:#aebed2;font-size:17px;}

.case-study-list{display:grid;gap:92px;}

.case-study{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:72px;
    align-items:center;
}

.case-study:nth-child(even) .case-study-visual{order:2;}
.case-study:nth-child(even) .case-study-content{order:1;}

.case-study-visual{
    position:relative;
    min-height:520px;
    padding:42px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.09);
    border-radius:30px;
    box-shadow:0 35px 85px rgba(0,0,0,.32);
}

.case-study-cyan{background:radial-gradient(circle at 80% 10%,rgba(57,196,255,.28),transparent 42%),linear-gradient(145deg,#10243e,#07111f);}
.case-study-orange{background:radial-gradient(circle at 80% 10%,rgba(255,151,58,.28),transparent 42%),linear-gradient(145deg,#3c2415,#130d09);}
.case-study-violet{background:radial-gradient(circle at 80% 10%,rgba(151,120,255,.30),transparent 42%),linear-gradient(145deg,#251d45,#0d0b18);}

.project-window{
    position:relative;
    z-index:2;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    border-radius:22px;
    background:#f7f9fc;
    box-shadow:0 30px 65px rgba(0,0,0,.34);
    transform:rotate(-2deg);
    transition:transform .45s ease;
}

.case-study:hover .project-window{transform:rotate(0) translateY(-6px);}

.project-window-bar{
    display:flex;
    align-items:center;
    gap:7px;
    padding:14px 17px;
    background:#e8edf4;
}

.project-window-bar span{width:9px;height:9px;border-radius:50%;background:#bdc7d6;}
.project-window-bar small{margin-left:10px;color:#6f7d90;font-size:10px;}

.project-preview{min-height:375px;padding:62px 48px;display:flex;flex-direction:column;justify-content:center;}
.project-preview small{font-size:10px;font-weight:800;letter-spacing:.15em;margin-bottom:18px;}
.project-preview h3{max-width:430px;margin:0 0 18px;font-size:clamp(32px,3.5vw,50px);line-height:1.02;color:#07111f;}
.project-preview p{max-width:420px;margin:0 0 28px;color:#536174;line-height:1.65;}
.project-preview > span{align-self:flex-start;padding:13px 18px;border-radius:999px;color:#fff;font-size:12px;font-weight:800;}
.project-preview-millertech{background:linear-gradient(135deg,#f8fbff,#eaf5ff);}
.project-preview-millertech small{color:#1479bc;}.project-preview-millertech > span{background:#147fc4;}
.project-preview-roofing{background:linear-gradient(135deg,#fffaf4,#fff0dd);}
.project-preview-roofing small{color:#b85e13;}.project-preview-roofing > span{background:#d36a15;}
.project-preview-medical{background:linear-gradient(135deg,#fbfaff,#f0edff);}
.project-preview-medical small{color:#6755b5;}.project-preview-medical > span{background:#6f5ac7;}

.case-study-number{
    position:absolute;
    right:20px;
    bottom:-16px;
    color:rgba(255,255,255,.08);
    font-size:150px;
    font-weight:800;
    line-height:1;
}

.case-study-content > small{
    display:block;
    margin-bottom:10px;
    color:#39c4ff;
    font-size:11px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.case-study-content h2{margin:0 0 7px;font-size:clamp(42px,4vw,60px);}
.case-study-content h3{margin:0 0 22px;color:#dbe6f4;font-size:21px;font-weight:500;}
.case-study-content > p{margin:0 0 30px;color:#9fb0c7;font-size:16px;}

.case-study-labels{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.case-study-labels span,.case-study-labels b{padding:7px 11px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.case-study-labels span{background:rgba(255,255,255,.05);color:#b7c6d9;border:1px solid rgba(255,255,255,.08);}
.case-study-labels b{background:rgba(57,196,255,.10);color:#77ddff;border:1px solid rgba(57,196,255,.22);}

.case-study-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px;}
.case-study-details > div{padding:20px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.025);}
.case-study-details strong{display:block;margin-bottom:8px;color:#fff;font-size:14px;}
.case-study-details p{margin:0;color:#91a4bd;font-size:13px;line-height:1.65;}

.project-tags{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 20px;}
.project-tags span{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);color:#bdcada;font-size:11px;}

.project-results{display:grid;gap:9px;margin-bottom:25px;}
.project-results span{color:#b7c6d9;font-size:13px;}

.portfolio-conversion{padding:90px 0;background:linear-gradient(135deg,#0c1a2d,#07111f);border-top:1px solid rgba(255,255,255,.07);}
.portfolio-conversion-inner{display:flex;align-items:center;justify-content:space-between;gap:60px;}
.portfolio-conversion-inner > div > span{display:block;margin-bottom:13px;color:#39c4ff;font-size:11px;font-weight:800;letter-spacing:.14em;}
.portfolio-conversion h2{max-width:760px;margin:0 0 14px;font-size:clamp(36px,4vw,54px);}
.portfolio-conversion p{margin:0;}

@media(max-width:1050px){
    .portfolio-hero-grid,.portfolio-intro,.case-study{grid-template-columns:1fr;}
    .case-study:nth-child(even) .case-study-visual,.case-study:nth-child(even) .case-study-content{order:initial;}
    .portfolio-summary{max-width:720px;}
    .case-study-visual{min-height:auto;}
    .portfolio-conversion-inner{align-items:flex-start;flex-direction:column;}
}

@media(max-width:700px){
    .portfolio-hero{padding:135px 0 85px;}
    .portfolio-summary{grid-template-columns:1fr;}
    .portfolio-summary div:not(:last-child){border-right:0;border-bottom:1px solid rgba(255,255,255,.08);}
    .case-study-list{gap:65px;}
    .case-study{gap:38px;}
    .case-study-visual{padding:20px;border-radius:22px;}
    .project-preview{min-height:320px;padding:42px 28px;}
    .case-study-details{grid-template-columns:1fr;}
    .portfolio-intro{gap:28px;margin-bottom:50px;}
}
