@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url('fonts/poppins-latin-400-normal.woff2') format('woff2')}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url('fonts/poppins-latin-500-normal.woff2') format('woff2')}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url('fonts/poppins-latin-600-normal.woff2') format('woff2')}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url('fonts/poppins-latin-700-normal.woff2') format('woff2')}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-latin-400-normal.woff2') format('woff2')}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url('fonts/inter-latin-500-normal.woff2') format('woff2')}:root{--primary:#1B3560;--secondary:#c0391c;--tertiary:#2A4A8A;--background:#F5F7FB;--background-alt:#E8EDF5;--surface:#FFFFFF;--text-primary:#0F1E38;--text-secondary:#4A5A7A;--text-light:#FFFFFF}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:Poppins,sans-serif;line-height:1.2}h1,h2,h3{letter-spacing:.5px}h4,h5,h6{letter-spacing:.3px}li,p,small{font-family:Inter,sans-serif;letter-spacing:.2px;line-height:1.5}.btn,.cta,button,nav a{font-family:Poppins,sans-serif;letter-spacing:.4px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--background);color:var(--text-primary);line-height:1.5}.page-hero{background:linear-gradient(135deg,var(--primary) 0,#2d3a7a 100%);color:var(--text-light);padding:6rem 2rem 5rem;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.page-hero h1{font-size:1.8rem;font-weight:500;margin-bottom:.8rem;line-height:1.2}.page-hero p{font-size:1rem;color:rgba(255,255,255,.85);max-width:550px;margin:0 auto}@media (min-width:768px){.page-hero{padding:7rem 2rem 5rem}.page-hero h1{font-size:2.4rem}.page-hero p{font-size:1.1rem}}.filter-bar{position:sticky;top:56px;z-index:90;background:var(--surface);border-bottom:1px solid rgba(61,82,160,.1);padding:.8rem 1rem;display:flex;gap:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.filter-btn{background:0 0;border:2px solid rgba(61,82,160,.15);padding:.5rem 1rem;border-radius:100px;font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:.2s}.filter-btn:hover{border-color:var(--secondary);color:var(--primary)}.filter-btn.active{background:var(--primary);border-color:var(--primary);color:var(--text-light)}.portfolio-section{padding:2rem 1rem;max-width:1100px;margin:0 auto}.portfolio-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width:600px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}.portfolio-section{padding:3rem 2rem}}@media (min-width:900px){.portfolio-grid{grid-template-columns:repeat(3,1fr)}}.portfolio-card{text-decoration:none;color:var(--text-primary);display:flex;flex-direction:column;align-items:center;transition:transform .3s}.portfolio-card:hover{transform:translateY(-8px)}.phone-mockup{background:var(--text-primary);border-radius:36px;padding:14px 10px 20px;box-shadow:0 25px 50px rgba(27,53,96,.3),0 8px 16px rgba(0,0,0,.12),inset 0 0 0 1px rgba(255,255,255,.08);position:relative;transition:box-shadow .4s;width:72%;max-width:210px}.portfolio-card:hover .phone-mockup{box-shadow:0 40px 70px rgba(27,53,96,.35),0 16px 28px rgba(0,0,0,.18),inset 0 0 0 1px rgba(255,255,255,.14)}.phone-notch{width:52px;height:5px;background:rgba(255,255,255,.18);border-radius:3px;margin:0 auto 10px}.phone-screen{border-radius:24px;overflow:hidden;position:relative;background:#fff;aspect-ratio:9/16}.phone-screen img{width:100%;height:auto;display:block;transition:transform .6s cubic-bezier(.22, 1, .36, 1);transform-origin:top center}.portfolio-card:hover .phone-screen img{transform:scale(1.04)}.phone-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(27,53,96,.9) 0,rgba(27,53,96,.3) 45%,transparent 70%);border-radius:24px;opacity:0;transition:opacity .35s;display:flex;align-items:flex-end;justify-content:center;padding:1.2rem 1rem}.portfolio-card:hover .phone-overlay{opacity:1}.phone-overlay-btn{color:#fff;font-family:Poppins,sans-serif;font-weight:500;font-size:.75rem;letter-spacing:.04em;background:var(--secondary);padding:.4rem 1rem;border-radius:20px;display:inline-block}.phone-home-bar{width:44px;height:4px;background:rgba(255,255,255,.22);border-radius:2px;margin:12px auto 0}.card-info{background:var(--surface);border-radius:16px;border:1px solid rgba(61,82,160,.08);box-shadow:0 4px 16px rgba(61,82,160,.06);width:100%;margin-top:1rem;padding:1.2rem 1.5rem 1.5rem;flex:1;display:flex;flex-direction:column}.card-category{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--secondary);margin-bottom:.3rem}.card-info h3{font-size:1.1rem;font-weight:500;margin-bottom:.4rem;color:var(--text-primary)}.card-info p{font-size:.85rem;color:var(--text-secondary);margin-bottom:1rem;flex:1}.card-cta{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:500;color:var(--primary);transition:gap .2s}.portfolio-card:hover .card-cta{gap:.7rem}.variety-banner{background:linear-gradient(135deg,var(--primary),var(--secondary));color:var(--text-light);text-align:center;padding:3rem 2rem}.variety-banner h2{font-size:1.5rem;margin-bottom:.6rem}.variety-banner p{font-size:.95rem;color:rgba(255,255,255,.85);max-width:500px;margin:0 auto 1.5rem}.variety-cta{display:inline-block;background:var(--text-light);color:var(--primary);padding:.8rem 2rem;border-radius:8px;text-decoration:none;font-weight:500;font-size:.9rem;transition:transform .2s,box-shadow .2s}.variety-cta:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.2)}@media (min-width:768px){.variety-banner{padding:5rem 2rem}.variety-banner h2{font-size:2rem}}.site-footer{background:var(--primary);color:var(--text-light);padding:3rem 2rem;text-align:center}.site-footer .footer-contact{margin-bottom:1rem;font-size:.95rem}.site-footer .footer-contact a{color:var(--text-light);text-decoration:none;opacity:.9;transition:opacity .2s}.site-footer .footer-contact a:hover{opacity:1;text-decoration:underline}.footer-divider{margin:0 .8rem;opacity:.5}.site-footer p{color:rgba(255,255,255,.6);font-size:.85rem}.portfolio-card.hidden{display:none}.mid-grid-cta{grid-column:1/-1;background:var(--primary,#1b3560);border-radius:16px;padding:2.5rem 2rem;text-align:center;color:var(--text-light,#fff)}.mid-grid-cta h3{font-family:Poppins,sans-serif;font-size:clamp(1.2rem, 3vw, 1.6rem);font-weight:500;margin-bottom:.75rem;color:var(--text-light,#fff)}.mid-grid-cta p{font-size:1rem;color:rgba(255,255,255,.8);max-width:50ch;margin:0 auto 1.5rem;line-height:1.6}.mid-grid-cta a{display:inline-block;background:var(--secondary,#c0391c);color:#fff;font-family:Poppins,sans-serif;font-weight:600;font-size:.95rem;padding:.85rem 2rem;border-radius:8px;text-decoration:none;transition:background .2s,transform .2s}.mid-grid-cta a:hover{background:#e04e2c;transform:translateY(-2px)}