*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--navy: #1A2E4A;--navy-deep: #111E30;--navy-mid: #243F62;--orange: #E87722;--orange-light: #F09040;--white: #FFFFFF;--light: #F4F6F9;--light-mid: #E8ECF2;--muted: #6B7A90;--border: #D0D9E8;--text: #1A2E4A;--font-display: "DM Serif Display", Georgia, serif;--font-body: "DM Sans", sans-serif;--font-mono: "DM Mono", monospace}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--light);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh}nav{background:var(--navy);padding:0 24px;position:sticky;top:0;z-index:50;border-bottom:3px solid var(--orange)}.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px}.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none}.nav-logo-mark{width:32px;height:32px;background:var(--orange);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.1rem;color:var(--white);font-weight:700}.nav-logo-text{font-family:var(--font-body);font-size:.85rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#ffffffd9;line-height:1.2}.nav-logo-text span{display:block;font-size:.65rem;font-weight:500;letter-spacing:.1em;color:#fff6;text-transform:uppercase}.nav-cta{background:var(--orange);color:var(--white);font-family:var(--font-body);font-size:.8rem;font-weight:600;letter-spacing:.06em;padding:10px 20px;border:none;cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s}.nav-cta:hover{background:var(--orange-light)}.hero{background:var(--navy-deep);padding:80px 24px 72px;text-align:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,transparent,transparent 80px,rgba(255,255,255,.018) 80px,rgba(255,255,255,.018) 81px);pointer-events:none}.hero-inner{position:relative;z-index:2;max-width:680px;margin:0 auto}.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--orange);background:#e877221a;border:1px solid rgba(232,119,34,.2);padding:6px 14px;margin-bottom:28px}.hero h1{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.6rem);color:var(--white);line-height:1.1;margin-bottom:20px}.hero h1 em{font-style:italic;color:var(--orange-light)}.hero-sub{font-size:1rem;color:#ffffff80;line-height:1.7;max-width:500px;margin:0 auto 40px}.hero-divider{width:48px;height:3px;background:var(--orange);margin:0 auto}.filter-bar{background:var(--white);border-bottom:1px solid var(--border);padding:0 24px;position:sticky;top:64px;z-index:40}.filter-inner{max-width:1200px;margin:0 auto;display:flex;gap:0;overflow-x:auto;scrollbar-width:none}.filter-inner::-webkit-scrollbar{display:none}.filter-btn{background:none;border:none;border-bottom:3px solid transparent;padding:18px 24px;font-family:var(--font-body);font-size:.82rem;font-weight:600;letter-spacing:.04em;color:var(--muted);cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s}.filter-btn:hover{color:var(--navy)}.filter-btn.active{color:var(--orange);border-bottom-color:var(--orange)}.grid-section{max-width:1200px;margin:0 auto;padding:56px 24px 80px}.grid-header{margin-bottom:40px}.grid-count{font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.grid-title{font-family:var(--font-display);font-size:1.8rem;color:var(--navy)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border)}.card-preview{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:var(--light-mid);flex-shrink:0}.iframe-wrap{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.iframe-scaler{position:absolute;top:0;left:0;width:1280px;height:900px;transform-origin:top left;transform:scale(var(--preview-scale, .25));pointer-events:none}.iframe-scaler iframe{width:1280px;height:900px;border:none;display:block;pointer-events:none}.card-coming-soon-wrap{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:var(--light-mid)}.coming-soon-niche{font-family:var(--font-mono);font-size:.65rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.portfolio-card{background:var(--white);position:relative;overflow:hidden;display:flex;flex-direction:column}.coming-soon-badge{background:var(--navy-deep);border:1px solid rgba(255,255,255,.15);padding:10px 20px;font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#ffffffb3}.card-hover-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#1a2e4a00,#1a2e4ad9);display:flex;flex-direction:column;justify-content:flex-end;padding:24px;opacity:0;transition:opacity .3s ease}.portfolio-card:hover .card-hover-overlay{opacity:1}.overlay-cta{display:inline-flex;align-items:center;gap:8px;background:var(--orange);color:var(--white);font-family:var(--font-body);font-size:.8rem;font-weight:600;letter-spacing:.06em;padding:10px 18px;text-decoration:none;width:fit-content;transition:background .2s}.overlay-cta:hover{background:var(--orange-light)}.overlay-arrow{font-size:.9rem;transition:transform .2s}.overlay-cta:hover .overlay-arrow{transform:translate(3px)}.card-body{padding:24px;border-top:1px solid var(--border);flex:1;display:flex;flex-direction:column;gap:10px}.card-niche{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.65rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}.card-niche-dot{width:5px;height:5px;border-radius:50%;background:var(--orange);flex-shrink:0}.card-name{font-family:var(--font-display);font-size:1.3rem;color:var(--navy);line-height:1.2}.card-desc{font-size:.85rem;color:var(--muted);line-height:1.6;flex:1}.card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.card-tag{font-family:var(--font-mono);font-size:.62rem;font-weight:500;letter-spacing:.08em;color:var(--navy-mid);background:var(--light);border:1px solid var(--border);padding:3px 8px}.cta-strip{background:var(--navy);padding:64px 24px;text-align:center}.cta-strip-inner{max-width:560px;margin:0 auto}.cta-eyebrow{font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--orange);margin-bottom:16px}.cta-title{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.6rem);color:var(--white);margin-bottom:16px;line-height:1.15}.cta-sub{font-size:.95rem;color:#ffffff80;margin-bottom:36px;line-height:1.7}.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.btn-primary{background:var(--orange);color:var(--white);font-family:var(--font-body);font-size:.85rem;font-weight:600;letter-spacing:.06em;padding:14px 28px;border:none;cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s}.btn-primary:hover{background:var(--orange-light)}.btn-ghost{background:transparent;color:#ffffffb3;font-family:var(--font-body);font-size:.85rem;font-weight:600;letter-spacing:.06em;padding:14px 28px;border:1px solid rgba(255,255,255,.2);cursor:pointer;text-decoration:none;display:inline-block;transition:border-color .2s,color .2s}.btn-ghost:hover{border-color:#ffffff80;color:var(--white)}footer{background:var(--navy-deep);border-top:1px solid rgba(255,255,255,.06);padding:28px 24px}.footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.footer-copy{font-size:.78rem;color:#ffffff40}.footer-link{font-size:.78rem;color:#ffffff59;text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--orange-light)}@media (max-width: 900px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 580px){.portfolio-grid{grid-template-columns:1fr}.card-hover-overlay{opacity:1;background:linear-gradient(to bottom,#1a2e4a00 50%,#1a2e4abf)}.filter-btn{padding:16px;font-size:.78rem}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.portfolio-card{animation:fadeUp .4s ease both}.portfolio-card:nth-child(1){animation-delay:.05s}.portfolio-card:nth-child(2){animation-delay:.1s}.portfolio-card:nth-child(3){animation-delay:.15s}
