/* Real project portfolio — one presentation system, four distinct characters */
.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:58px 30px}.portfolio-card{display:block;border-top:1px solid var(--line);padding-top:12px}.portfolio-card:hover .portfolio-visual{transform:translateY(-6px);box-shadow:0 16px 28px rgba(23,34,31,.15)}.portfolio-card:hover .open-project{background:var(--acid);padding-right:17px}.portfolio-visual{height:390px;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;isolation:isolate}.portfolio-visual:before{content:'';position:absolute;inset:0;border:1px solid rgba(23,34,31,.12);z-index:4;pointer-events:none}.portfolio-visual .case-number,.portfolio-visual .project-type{z-index:5;font:10px var(--mono);letter-spacing:.05em;position:absolute;top:22px}.portfolio-visual .case-number{left:22px}.portfolio-visual .project-type{right:22px}.open-project{z-index:6;position:absolute;right:18px;bottom:18px;padding:10px 12px;background:#fff;color:var(--ink);font:10px var(--mono);transition:background .25s,padding .25s}.portfolio-card .case-info{padding:20px 0 0}.portfolio-card .case-info h3{font-size:28px}.portfolio-card .case-info p{max-width:250px}.container-case{background:#d7ff39;color:#17221f}.container-case:after{content:'✦';position:absolute;right:9%;top:32%;font:clamp(90px,13vw,150px)/1 var(--serif);color:#f36543;transform:rotate(17deg)}.project-logo{z-index:1;position:absolute;left:8%;top:37%;font:700 clamp(34px,5vw,65px)/.8 var(--sans);letter-spacing:-.1em}.project-logo span{font-weight:400}.project-logo i{font:12px var(--mono);vertical-align:top;margin-left:3px}.container-case p{z-index:1;position:absolute;left:8%;top:55%;font:15px var(--mono);line-height:1.15}.casa-case{background:linear-gradient(180deg,rgba(20,28,24,.1),rgba(20,28,24,.62)),url('casa-alba-real-estatev5/assets/villa-dusk.webp') center/cover;color:#fff}.casa-name,.teplo-name,.uds-name{z-index:2;position:absolute;left:8%;top:39%;font:500 clamp(30px,4vw,48px)/.85 var(--serif);letter-spacing:-.04em}.casa-name small,.teplo-name small,.uds-name small{display:block;font:9px var(--mono);letter-spacing:.13em;margin-top:9px}.casa-tag{z-index:2;position:absolute;right:9%;bottom:24%;font:clamp(30px,4vw,52px)/.9 var(--serif);text-align:right}.teplo-case{background:#f0d15e url('teplo-bakery/assets/images/cakes.webp') 110% 60%/53% auto no-repeat;color:#421e17}.teplo-case:after{content:'';position:absolute;inset:20px;border:1px solid rgba(66,30,23,.35);border-radius:50%;transform:rotate(-10deg)}.teplo-name{font:700 clamp(38px,5vw,58px)/.8 var(--sans);letter-spacing:-.09em}.teplo-tag{z-index:1;position:absolute;left:8%;top:59%;font:14px var(--mono);line-height:1.15}.uds-case{background:#0b1117;color:#f5f7f6}.uds-case:after{content:'';position:absolute;width:280px;height:280px;border-radius:50%;right:-65px;top:64px;background:radial-gradient(circle at 35% 35%,#66f3c1,#197eec 53%,#202cc8 75%);filter:saturate(.85)}.uds-name{font:800 clamp(45px,6vw,75px)/.8 var(--sans);letter-spacing:-.1em}.uds-copy{z-index:1;position:absolute;left:8%;top:60%;font-size:14px;line-height:1.2}@media(max-width:900px){.portfolio-grid{grid-template-columns:1fr}.portfolio-grid .case-card:nth-child(2){max-width:100%;margin-left:0}}@media(max-width:560px){.portfolio-visual{height:330px}.portfolio-visual .project-type,.portfolio-visual .case-number{top:17px}.portfolio-visual .case-number{left:17px}.portfolio-visual .project-type{right:17px}.portfolio-visual .open-project{right:17px;bottom:17px}.portfolio-card .case-info h3{font-size:25px}}
