.portfolio-page[data-v-3451391e]{width:100%;min-height:100vh;color:var(--text-main,#26301d);background:var(--page-bg,#f6f7f2);overflow-x:hidden}.portfolio-hero[data-v-3451391e]{background:radial-gradient(circle at 85% 15%, #a9b68966, transparent 34%), radial-gradient(circle at 10% 85%, #68764d1f, transparent 30%), linear-gradient(135deg, var(--page-bg,#f8faf3), var(--about-bg,#e5eadb));justify-content:center;align-items:center;min-height:520px;padding:150px 24px 90px;display:flex}.portfolio-hero-content[data-v-3451391e]{text-align:center;width:100%;max-width:900px;margin:0 auto}.portfolio-badge[data-v-3451391e]{color:var(--text-accent,#52613b);background:#a9b68940;border-radius:999px;align-items:center;margin-bottom:20px;padding:8px 16px;font-size:14px;font-weight:900;display:inline-flex}.portfolio-hero h1[data-v-3451391e]{color:var(--text-main,#26301d);margin:0;font-size:clamp(40px,7vw,76px);font-weight:950;line-height:1.2}.portfolio-hero p[data-v-3451391e]{max-width:720px;color:var(--text-soft,#46513a);margin:24px auto 0;font-size:clamp(16px,2vw,19px);line-height:2}.portfolio-section[data-v-3451391e]{background:var(--section-bg,#fff);padding:90px 24px 110px}.portfolio-grid[data-v-3451391e]{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;width:100%;max-width:1120px;margin:0 auto;display:grid}.portfolio-card[data-v-3451391e]{border:1px solid var(--glass-border,#68764d24);background:var(--section-soft-bg,#f8faf3);min-width:0;box-shadow:0 18px 45px var(--shadow-soft,#1f271b17);transition:transform .3s var(--ease-spring), box-shadow .3s ease, border-color .3s ease;border-radius:32px;overflow:hidden}@media (hover:hover){.portfolio-card[data-v-3451391e]:hover{border-color:var(--primary-soft,#a9b689);box-shadow:0 28px 70px var(--shadow-medium,#1f271b29);transform:translateY(-8px)}}.project-image-wrapper[data-v-3451391e]{aspect-ratio:16/10;background:var(--section-muted-bg,#e9efdc);width:100%;position:relative;overflow:hidden}.project-image[data-v-3451391e]{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .6s var(--ease-out);display:block}@media (hover:hover){.portfolio-card:hover .project-image[data-v-3451391e]{transform:scale(1.07)}}.project-image-overlay[data-v-3451391e]{opacity:0;-webkit-backdrop-filter:blur();background:#1d24177a;justify-content:center;align-items:center;transition:opacity .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}@media (hover:hover){.portfolio-card:hover .project-image-overlay[data-v-3451391e]{opacity:1;-webkit-backdrop-filter:blur(2px)}.portfolio-card:hover .preview-link[data-v-3451391e]{transform:translate(0,0)}}.preview-link[data-v-3451391e]{color:#fff;-webkit-backdrop-filter:blur(10px);min-height:46px;transition:transform .35s var(--ease-spring);background:#ffffff2b;border-radius:15px;justify-content:center;align-items:center;gap:8px;padding:11px 17px;font-size:14px;font-weight:900;text-decoration:none;display:inline-flex;transform:translateY(12px)}.project-content[data-v-3451391e]{padding:26px}.project-heading[data-v-3451391e]{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.project-heading>div[data-v-3451391e]{min-width:0}.project-type[data-v-3451391e]{color:var(--text-accent,#52613b);background:#a9b68938;border-radius:999px;margin-bottom:10px;padding:6px 11px;font-size:13px;font-weight:900;display:inline-flex}.project-heading h2[data-v-3451391e]{color:var(--text-main,#26301d);margin:0;font-size:25px;font-weight:950;line-height:1.4}.project-title-link[data-v-3451391e]{color:inherit;text-decoration:none;transition:color .22s}@media (hover:hover){.project-title-link[data-v-3451391e]:hover{color:var(--primary-hover,#52613b)}}@media (max-width:768px){.project-title-link[data-v-3451391e],.portfolio-hero .inline-link[data-v-3451391e]{margin-block-start:-14px;margin-block-end:-14px;padding-block-start:14px;padding-block-end:14px;display:inline-block}}.project-external-link[data-v-3451391e]{border:1px solid var(--glass-border,#68764d29);width:44px;min-width:44px;height:44px;color:var(--text-accent,#52613b);background:var(--glass-bg-strong,#ffffffd1);transition:color .25s ease, background .25s ease, transform .3s var(--ease-spring);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:flex}@media (hover:hover){.project-external-link[data-v-3451391e]:hover{color:var(--page-bg);background:var(--primary,#68764d);transform:translateY(-2px)rotate(45deg)}}.project-description[data-v-3451391e]{color:var(--text-soft,#46513a);margin:16px 0 0;font-size:15px;line-height:2}.technology-list[data-v-3451391e]{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.technology-item[data-v-3451391e]{border:1px solid var(--glass-border,#68764d21);color:var(--text-muted,#59624d);background:var(--glass-bg-strong,#ffffffb8);transition:color .22s ease, background .22s ease, border-color .22s ease, transform .22s var(--ease-spring);direction:ltr;border-radius:10px;padding:7px 11px;font-size:13px;font-weight:800}@media (hover:hover){.technology-item[data-v-3451391e]:hover{color:var(--page-bg);background:var(--primary,#68764d);border-color:var(--primary,#68764d);transform:translateY(-2px)}}.project-footer[data-v-3451391e]{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.project-button.project-details[data-v-3451391e]{color:var(--page-bg,#f6f7f2);background:var(--primary,#68764d)}.project-button[data-v-3451391e]:not(.project-details){color:var(--text-accent,#52613b);background:var(--section-muted-bg,#e9efdc);box-shadow:none}@media (hover:hover){.project-button[data-v-3451391e]:not(.project-details):hover{color:var(--page-bg,#f6f7f2);background:var(--primary,#68764d)}}.project-button[data-v-3451391e]{width:-moz-fit-content;width:fit-content;min-height:48px;color:var(--page-bg);background:var(--primary,#68764d);transition:background .25s ease, transform .25s var(--ease-spring), box-shadow .25s ease;border-radius:15px;justify-content:center;align-items:center;gap:9px;padding:12px 18px;font-size:14px;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:0 12px 25px #68764d3b}.project-button .q-icon[data-v-3451391e]:last-child{transition:transform .28s var(--ease-spring)}@media (hover:hover){.project-button[data-v-3451391e]:hover{background:var(--primary-hover,#52613b);transform:translateY(-2px);box-shadow:0 16px 30px #68764d4d}.project-button:hover .q-icon[data-v-3451391e]:last-child{transform:translate(4px)}}.portfolio-page.is-rtl .project-button:hover .q-icon[data-v-3451391e]:last-child{transform:translate(-4px)}.empty-state[data-v-3451391e]{text-align:center;max-width:600px;color:var(--text-muted,#59624d);margin:0 auto;padding:60px 24px}.empty-state h2[data-v-3451391e]{color:var(--text-main,#26301d);margin:18px 0 8px}.empty-state p[data-v-3451391e]{margin:0;line-height:2}@media (max-width:800px){.portfolio-grid[data-v-3451391e]{grid-template-columns:1fr}.portfolio-hero[data-v-3451391e]{min-height:440px;padding:130px 20px 70px}}@media (max-width:480px){.portfolio-hero[data-v-3451391e]{min-height:390px;padding:110px 16px 55px}.portfolio-section[data-v-3451391e]{padding:60px 16px 80px}.portfolio-card[data-v-3451391e]{border-radius:25px}.project-content[data-v-3451391e]{padding:20px}.project-heading h2[data-v-3451391e]{font-size:21px}.project-button[data-v-3451391e]{width:100%}.project-image-overlay[data-v-3451391e]{display:none}}@media (prefers-reduced-motion:reduce){.portfolio-card[data-v-3451391e],.project-image[data-v-3451391e],.project-image-overlay[data-v-3451391e],.preview-link[data-v-3451391e],.technology-item[data-v-3451391e],.project-external-link[data-v-3451391e],.project-button[data-v-3451391e],.project-button .q-icon[data-v-3451391e]:last-child{transition:none}.preview-link[data-v-3451391e],.portfolio-card[data-v-3451391e]:hover,.portfolio-card:hover .project-image[data-v-3451391e],.technology-item[data-v-3451391e]:hover,.project-external-link[data-v-3451391e]:hover,.project-button[data-v-3451391e]:hover,.project-button:hover .q-icon[data-v-3451391e]:last-child,.portfolio-page.is-rtl .project-button:hover .q-icon[data-v-3451391e]:last-child{transform:none}}
