html,body{overflow-x:hidden;max-width:100vw}.portfolio-hero{padding-top:calc(var(--header-height) + 4rem);padding-bottom:4rem;background-color:var(--color-bg-dark, #08090B);color:var(--color-light-primary, #FFFFFF);border-bottom:1px solid rgba(255,255,255,.08)}.portfolio-hero .container{display:flex;flex-direction:column;gap:1.5rem}.portfolio-hero .eyebrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-accent, #BE9F73);font-family:var(--font-mono);font-size:.8125rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.portfolio-hero .heading-xl{font-size:clamp(2.4rem,5vw,3.75rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:#fff}.portfolio-hero__stats{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem 2.5rem;margin-top:1rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.portfolio-stat{display:flex;flex-direction:column;gap:.25rem}.portfolio-stat__value{font-family:var(--font-display, "Space Grotesk", sans-serif);font-size:1.625rem;font-weight:700;color:var(--color-accent, #BE9F73);line-height:1}.portfolio-stat__label{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6}.filter-bar{display:flex;align-items:center;gap:.35rem;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 .35rem;margin-bottom:0;border-bottom:none;white-space:nowrap;background:transparent}.filter-bar::-webkit-scrollbar{display:none}.filter-btn{background:transparent;border:1px solid transparent;border-radius:9999px;padding:.65rem 1.25rem;font-family:var(--font-mono, "Space Grotesk", monospace);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#555964;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;white-space:nowrap;flex-shrink:0;line-height:1;transition:all .22s cubic-bezier(.2,0,0,1)}.filter-btn__count{display:none!important}.filter-btn:hover{background:#ffffffbf;border-color:#be9f7366;color:#121316;transform:translateY(-1px);box-shadow:0 2px 8px #0000000a}.filter-btn:active{transform:translateY(0)}.filter-btn.is-active{background:transparent;border-color:transparent;color:#121316;font-weight:700;box-shadow:none;cursor:default}.filter-btn__dot{width:6px;height:6px;background:#be9f73;border-radius:50%;display:inline-block;flex-shrink:0;box-shadow:0 0 6px #be9f7380}.projects-toolbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1.25rem 2rem;margin-bottom:2rem;padding:.5rem 0}.projects-search-box{position:relative;flex:1 1 320px;max-width:640px;width:100%;display:flex;align-items:center}.projects-search-icon{position:absolute;left:1.15rem;color:var(--color-ink-muted, #7E8088);pointer-events:none;transition:color .2s ease}.projects-search-input{width:100%;padding:.85rem 2.75rem .85rem 3rem;background:#fff;border:1px solid rgba(8,9,11,.12);border-radius:9999px;font-family:var(--font-body, "Inter", sans-serif);font-size:.875rem;color:var(--color-ink-primary, #08090B);box-shadow:inset 0 2px 4px #00000005,0 2px 8px #00000005;transition:all .25s cubic-bezier(.16,1,.3,1);outline:none}.projects-search-input::placeholder{color:#8e919b;font-size:.84rem}.projects-search-input:focus{border-color:var(--color-accent, #BE9F73);background:#fff;box-shadow:0 0 0 4px #be9f732e,0 4px 14px #0000000a}.projects-search-input:focus+.projects-search-icon,.projects-search-box:focus-within .projects-search-icon{color:var(--color-accent-hover, #AA8C62)}.projects-search-clear{position:absolute;right:.85rem;width:26px;height:26px;border-radius:50%;background:#08090b14;border:none;color:#555964;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all .2s ease}.projects-search-clear:hover{background:#08090b;color:#fff;transform:scale(1.08)}.projects-search-clear.is-hidden{display:none!important}.projects-count-badge{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem 1.15rem;background:#eff3f3;border:1px solid rgba(8,9,11,.08);border-radius:9999px;font-family:var(--font-mono, monospace);font-size:.75rem;font-weight:600;letter-spacing:.04em;color:#383a42;box-shadow:0 1px 4px #00000005;white-space:nowrap}.projects-count-badge strong{color:var(--color-ink-primary, #08090B);font-weight:700}.count-pulse-dot{width:7px;height:7px;border-radius:50%;background:#25d366;box-shadow:0 0 #25d36699;animation:pulseGreen 2.2s infinite;flex-shrink:0}@keyframes pulseGreen{0%{transform:scale(.95);box-shadow:0 0 #25d366b3}70%{transform:scale(1);box-shadow:0 0 0 6px #25d36600}to{transform:scale(.95);box-shadow:0 0 #25d36600}}.filter-tab__count{font-size:.7rem;opacity:.65;font-weight:500;margin-left:.15rem;transition:opacity .2s ease}.filter-tab.is-active .filter-tab__count{opacity:1;color:#be9f73;font-weight:700}.projects-directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;align-items:stretch;transition:opacity .22s ease,transform .22s ease;min-height:400px}.showcase-card{background-color:#fff;border:1px solid rgba(8,9,11,.09);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 20px #08090b0a;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1),border-color .35s ease;position:relative;content-visibility:auto;contain-intrinsic-size:420px;animation:cardFadeUp .45s cubic-bezier(.16,1,.3,1) both}@keyframes cardFadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.showcase-card:hover{transform:translateY(-6px);box-shadow:0 22px 46px -12px #08090b24,0 0 0 1px #be9f7366;border-color:#be9f738c}.showcase-card__media{position:relative;display:block;overflow:hidden;aspect-ratio:16 / 10;background-color:#121316;text-decoration:none}.showcase-card__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.16,1,.3,1)}.showcase-card:hover .showcase-card__img{transform:scale(1.055)}.showcase-card__overlay{position:absolute;inset:0;background:#08090b59;pointer-events:none;transition:opacity .3s ease}.showcase-card:hover .showcase-card__overlay{opacity:.8}.showcase-card__badge{position:absolute;top:.9rem;left:.9rem;z-index:2;background:#08090bd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:100px;padding:.3rem .8rem;font-family:var(--font-mono, monospace);font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 4px 12px #00000047;pointer-events:none;display:inline-flex;align-items:center;gap:.4rem}.showcase-card__badge .badge-dot{width:5px;height:5px;border-radius:50%;background:#be9f73;box-shadow:0 0 6px #be9f73cc;display:inline-block;flex-shrink:0}.showcase-card__loc-tag{position:absolute;top:.9rem;right:.9rem;z-index:2;background:#ffffffeb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#121316;border:1px solid rgba(18,19,22,.1);border-radius:100px;padding:.28rem .75rem;font-family:var(--font-mono, monospace);font-size:.6875rem;font-weight:600;letter-spacing:.04em;box-shadow:0 2px 8px #00000026;pointer-events:none;display:inline-flex;align-items:center;gap:.35rem}.showcase-card__loc-tag svg{color:#be9f73;flex-shrink:0}.showcase-card__body{padding:1.5rem 1.65rem 1.4rem;display:flex;flex-direction:column;flex-grow:1}.showcase-card__location{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-mono, monospace);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#121316;margin-bottom:.5rem}.showcase-card__location .location-pin-icon{flex-shrink:0;color:#be9f73}.showcase-card__title{font-family:var(--font-display, "Space Grotesk", sans-serif);font-size:1.2rem;font-weight:700;line-height:1.32;margin-bottom:.45rem;color:var(--color-ink-primary, #08090B)}.showcase-card__title a{color:inherit;text-decoration:none;transition:color .2s ease}.showcase-card:hover .showcase-card__title a{color:var(--color-accent-hover, #AA8C62)}.showcase-card__subtitle{font-size:.9rem;line-height:1.55;color:var(--color-ink-secondary, #55575D);margin-bottom:1.15rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden}.showcase-card__apps{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto;margin-bottom:1.25rem}.app-pill{display:inline-flex;align-items:center;font-size:.7rem;font-family:var(--font-mono, monospace);color:#383a42;background:#be9f731f;border:1px solid rgba(190,159,115,.28);border-radius:4px;padding:.22rem .55rem;letter-spacing:.02em;line-height:1.3}.showcase-card__footer{padding-top:1rem;border-top:1px solid rgba(8,9,11,.07);display:flex;align-items:center;justify-content:space-between;gap:.75rem}.showcase-card__link{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono, monospace);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-primary, #08090B);text-decoration:none;transition:color .2s ease}.showcase-card__link .arrow-icon{flex-shrink:0;transition:transform .25s ease,color .2s ease;color:var(--color-accent, #BE9F73)}.showcase-card:hover .showcase-card__link{color:var(--color-accent-hover, #AA8C62)}.showcase-card:hover .showcase-card__link .arrow-icon{transform:translate(4px);color:var(--color-accent-hover, #AA8C62)}.showcase-card__whatsapp-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.38rem .75rem;border-radius:9999px;background:#f4f8f5;border:1px solid rgba(37,211,102,.25);color:#0c6e62;font-family:var(--font-mono, monospace);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-decoration:none;transition:all .2s cubic-bezier(.2,0,0,1);flex-shrink:0}.showcase-card__whatsapp-btn svg{flex-shrink:0;color:#25d366}.showcase-card__whatsapp-btn:hover{background:#25d366;border-color:#25d366;color:#fff;transform:translateY(-1px);box-shadow:0 4px 10px #25d3664d}.showcase-card__whatsapp-btn:hover svg{color:#fff}.projects-toggle-wrap{margin-top:3.5rem;display:flex;justify-content:center}.projects-toggle-btn{display:inline-flex;align-items:center;gap:.75rem;padding:.95rem 2.25rem;font-family:var(--font-mono, monospace);font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-primary, #08090B);background:#fff;border:1.5px solid var(--color-ink-primary, #08090B);border-radius:6px;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 14px #08090b0d}.projects-toggle-btn:hover{background-color:var(--color-ink-primary, #08090B);color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px #08090b26}.projects-toggle-btn svg{flex-shrink:0;transition:transform .2s ease}.projects-empty-state{grid-column:1 / -1;padding:4.5rem 1.5rem;text-align:center;background:#fff;border:1px dashed rgba(8,9,11,.16);border-radius:12px;margin:1.5rem 0}.empty-state-icon{width:64px;height:64px;margin:0 auto 1.25rem;border-radius:50%;background:#eff3f3;color:#8e919b;display:flex;align-items:center;justify-content:center}.empty-state-title{font-family:var(--font-display, "Space Grotesk", sans-serif);font-size:1.35rem;font-weight:700;color:var(--color-ink-primary, #08090B);margin-bottom:.5rem}.empty-state-text{font-size:.95rem;color:var(--color-ink-secondary, #55575D);max-width:460px;margin:0 auto 1.75rem;line-height:1.6}.empty-reset-btn{padding:.75rem 1.75rem;font-family:var(--font-mono, monospace);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.project-hero{padding-top:calc(var(--header-height, 80px) + 2rem);padding-bottom:3.5rem;background-color:var(--color-bg-dark, #08090B);color:var(--color-light-primary, #FFFFFF);border-bottom:1px solid rgba(255,255,255,.08)}.project-hero__top-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,.08)}.project-hero .breadcrumb-nav{display:flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:#fff9;margin-bottom:0;flex-wrap:wrap}.portfolio-hero .breadcrumb-nav a,.project-hero .breadcrumb-nav a{color:#fff;text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}.portfolio-hero .breadcrumb-nav a:hover,.project-hero .breadcrumb-nav a:hover{color:var(--color-accent, #BE9F73)}.project-hero .breadcrumb-separator{opacity:.35;color:#fff}.project-hero .breadcrumb-current{color:var(--color-accent, #BE9F73)}.btn-back-portfolio{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.15rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:100px;font-family:var(--font-mono);font-size:.78125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-decoration:none;transition:all .25s ease}.btn-back-portfolio:hover{background:var(--color-accent, #BE9F73);color:#08090b;border-color:var(--color-accent, #BE9F73);transform:translate(-3px);box-shadow:0 4px 14px #be9f7340}.project-hero__content{display:flex;flex-direction:column;gap:.75rem;max-width:960px}.project-hero__badges{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.35rem}.project-category-badge{background:#be9f7329;border:1px solid rgba(190,159,115,.35);color:var(--color-accent, #BE9F73);padding:.35rem .9rem;border-radius:4px;font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.project-location-badge{display:inline-flex;align-items:center;gap:.4rem;color:#ffffffb3;font-family:var(--font-mono);font-size:.78rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.project-location-badge svg{color:var(--color-accent, #BE9F73)}.project-hero__title{font-family:var(--font-display, "Space Grotesk", sans-serif);font-size:clamp(2.35rem,5.5vw,3.85rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:#fff}.project-hero__subtitle{font-size:clamp(1.1rem,2vw,1.4rem);color:#ffffffbf;line-height:1.5;font-weight:400;margin-bottom:1.5rem}.project-hero-media{width:100%;aspect-ratio:21 / 9;min-height:420px;max-height:640px;overflow:hidden;background-color:#121316;border-radius:8px;position:relative;cursor:zoom-in;box-shadow:0 20px 50px -10px #00000080,0 0 0 1px #ffffff14}.project-hero-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.16,1,.3,1)}.project-hero-media--spacious,[data-project=curchorem-cacora-municipal-council] .project-hero-media{aspect-ratio:16 / 10;max-height:680px}.project-hero-media--spacious img,[data-project=curchorem-cacora-municipal-council] .project-hero-media img{object-position:center 35%}.project-hero-media:hover img{transform:scale(1.03)}.project-hero-media__overlay{position:absolute;inset:0;background:#08090b73;pointer-events:none}.hero-expand-badge{position:absolute;bottom:1.25rem;right:1.25rem;display:inline-flex;align-items:center;gap:.5rem;background:#08090bc7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);padding:.45rem .95rem;border-radius:100px;color:#fff;font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;transition:all .25s ease}.project-hero-media:hover .hero-expand-badge{background:var(--color-accent, #BE9F73);color:#08090b;border-color:var(--color-accent, #BE9F73)}.project-meta-strip{margin-top:2.25rem;padding:1.75rem 2.25rem;background:#111215;border:1px solid rgba(190,159,115,.22);border-radius:12px;box-shadow:0 20px 48px -12px #000000b3,inset 0 1px #ffffff14,inset 0 0 24px #be9f7308;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);position:relative;overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease}.project-meta-strip:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#be9f73;opacity:.95}.project-meta-strip:hover{border-color:#be9f7361;box-shadow:0 24px 54px -12px #000c,inset 0 1px #ffffff1f,inset 0 0 32px #be9f730d}.meta-grid{display:grid;grid-template-columns:minmax(130px,1fr) minmax(170px,1.2fr) minmax(260px,2.2fr);gap:2.25rem;align-items:stretch}.meta-item{display:flex;flex-direction:column;justify-content:flex-start;gap:.55rem;position:relative}.meta-item:not(:last-child):after{content:"";position:absolute;right:-1.125rem;top:8%;height:84%;width:1px;background:#ffffff1a}.meta-item__label{font-family:var(--font-mono, "Space Grotesk", monospace);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent, #BE9F73);font-weight:700;display:inline-flex;align-items:center;gap:.5rem;line-height:1}.meta-item__label:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#be9f73;box-shadow:0 0 8px #be9f73d9,0 0 2px #fff;flex-shrink:0}.meta-item__value{font-family:var(--font-sans, "Plus Jakarta Sans", system-ui, sans-serif);font-size:1.0625rem;font-weight:600;color:#f8f7f4;line-height:1.5;letter-spacing:-.005em;display:block}.project-narrative-section{padding:5.5rem 0;background-color:#fff}.project-body-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:flex-start}.project-narrative-col{display:flex;flex-direction:column;gap:2.5rem}.narrative-block .eyebrow{margin-bottom:.5rem}.project-narrative-text{font-size:1.1875rem;line-height:1.8;color:var(--color-ink-primary, #08090B);margin-top:1.25rem}.project-narrative-sub{font-size:1.05rem;line-height:1.75;color:var(--color-ink-secondary, #55575D);margin-top:1rem}.project-highlights-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:1rem}.highlight-card{display:flex;align-items:flex-start;gap:1.25rem;padding:1.5rem;background:var(--color-surface-subtle, #F8F7F4);border:1px solid var(--color-border-light, rgba(18, 19, 22, .08));border-radius:6px;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.highlight-card:hover{transform:translate(4px);border-color:#be9f7373;box-shadow:0 4px 16px #08090b0a}.highlight-card__icon{width:44px;height:44px;flex-shrink:0;background:#be9f7326;border:1px solid rgba(190,159,115,.3);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--color-accent-hover, #AA8C62)}.highlight-card__content{display:flex;flex-direction:column;gap:.25rem}.highlight-card__title{font-family:var(--font-display, "Space Grotesk", sans-serif);font-size:1.0625rem;font-weight:700;color:var(--color-ink-primary, #08090B)}.highlight-card__desc{font-size:.9375rem;line-height:1.55;color:var(--color-ink-secondary, #55575D);margin:0}.project-specs-col{position:relative}.project-spec-card{position:sticky;top:calc(var(--header-height, 80px) + 2rem);background:#fff;border:1px solid rgba(8,9,11,.1);border-top:4px solid var(--color-accent, #BE9F73);border-radius:8px;box-shadow:0 10px 30px -10px #08090b14;overflow:hidden}.project-spec-card__header{padding:1.75rem 2rem 1.25rem;border-bottom:1px solid var(--color-border-light, rgba(18, 19, 22, .08))}.project-spec-card__title{font-family:var(--font-display, "Space Grotesk", sans-serif);font-size:1.25rem;font-weight:700;color:var(--color-ink-primary, #08090B);margin-top:.35rem}.project-spec-card__body{padding:1.75rem 2rem}.app-spec-list{display:flex;flex-direction:column;gap:.85rem;margin-bottom:2rem;list-style:none;padding:0;margin-left:0}.app-spec-item{display:flex;align-items:flex-start;gap:.85rem;font-size:.95rem;line-height:1.5;color:var(--color-ink-primary, #08090B);font-weight:500}.app-spec-icon{width:20px;height:20px;flex-shrink:0;border-radius:50%;background:#be9f732e;color:var(--color-accent-hover, #AA8C62);display:flex;align-items:center;justify-content:center;margin-top:2px}.project-spec-table{background:var(--color-surface-subtle, #F8F7F4);border:1px solid var(--color-border-light, rgba(18, 19, 22, .08));border-radius:6px;padding:1.25rem 1.5rem;margin-bottom:1.75rem}.spec-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.6rem 0;border-bottom:1px solid rgba(0,0,0,.05)}.spec-row:last-child{border-bottom:none}.spec-label{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-secondary, #55575D);font-weight:600}.spec-val{font-size:.875rem;font-weight:600;color:var(--color-ink-primary, #08090B);text-align:right}.project-spec-cta{display:flex;flex-direction:column;gap:.75rem}.btn-full-width{width:100%;justify-content:center;padding:.9rem 1.5rem;font-family:var(--font-mono);font-size:.8125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}.spec-whatsapp-link{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;font-family:var(--font-mono);font-size:.78125rem;font-weight:600;letter-spacing:.05em;color:#128c7e;text-decoration:none;border:1px solid rgba(18,140,126,.25);border-radius:4px;transition:all .2s ease}.spec-whatsapp-link:hover{background:#128c7e14;border-color:#128c7e;color:#075e54}.project-gallery-section{padding:5.5rem 0;background-color:var(--color-surface-subtle, #F8F7F4);border-top:1px solid var(--color-border-light, rgba(18, 19, 22, .08));border-bottom:1px solid var(--color-border-light, rgba(18, 19, 22, .08))}.gallery-badge-info{display:inline-flex;align-items:center;padding:.4rem 1rem;background:#fff;border:1px solid var(--color-border-medium, rgba(18, 19, 22, .16));border-radius:100px;font-family:var(--font-mono);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-secondary, #55575D)}.editorial-gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem;margin-top:2.5rem}.gallery-item{position:relative;overflow:hidden;background-color:#0f1013;border-radius:8px;cursor:zoom-in;box-shadow:0 8px 24px #08090b14;border:1px solid rgba(0,0,0,.08);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.gallery-item:hover{transform:translateY(-4px);box-shadow:0 16px 36px #08090b24;border-color:#be9f7366}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.16,1,.3,1)}.gallery-item:hover img{transform:scale(1.03)}.gallery-item--full{grid-column:span 12;aspect-ratio:21 / 9;max-height:560px}.gallery-item--single{grid-column:3 / span 8;aspect-ratio:4 / 3;max-height:680px;width:100%}.gallery-item--single img{object-fit:cover;object-position:center 35%}@media(max-width:992px){.gallery-item--single{grid-column:2 / span 10;aspect-ratio:4 / 3}}@media(max-width:640px){.gallery-item--single{grid-column:span 12;aspect-ratio:1 / 1;max-height:480px}}.gallery-item--half{grid-column:span 6;aspect-ratio:16 / 10}.gallery-item--third{grid-column:span 4;aspect-ratio:4 / 3}.gallery-item:after{content:"";position:absolute;top:1rem;right:1rem;width:38px;height:38px;border-radius:50%;background:#08090bb8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 3 21 3 21 9'%3E%3C/polyline%3E%3Cpolyline points='9 21 3 21 3 15'%3E%3C/polyline%3E%3Cline x1='21' y1='3' x2='14' y2='10'%3E%3C/line%3E%3Cline x1='3' y1='21' x2='10' y2='14'%3E%3C/line%3E%3C/svg%3E") no-repeat center center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.2);opacity:0;transform:scale(.85);transition:opacity .25s ease,transform .25s ease;pointer-events:none}.gallery-item:hover:after{opacity:1;transform:scale(1)}.gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:1rem 1.5rem;background:#08090bd9;color:#fff;font-family:var(--font-mono, "Space Grotesk", monospace);font-size:.78125rem;letter-spacing:.04em;opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .25s ease}.gallery-item:hover .gallery-caption{opacity:1;transform:translateY(0)}.project-pagination-section{padding:4rem 0;background-color:#fff;border-bottom:1px solid var(--color-border-light, rgba(18, 19, 22, .08))}.project-pagination-strip{display:flex;align-items:stretch;justify-content:space-between;border:1px solid var(--color-border-light, rgba(18, 19, 22, .08));border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 4px 16px #08090b08}.pagination-link{flex:1;display:flex;align-items:center;gap:1.25rem;padding:1.75rem 2rem;text-decoration:none;color:inherit;transition:background-color .25s ease,transform .25s ease}.pagination-link:hover{background-color:var(--color-surface-subtle, #F8F7F4)}.pagination-link--prev{justify-content:flex-start;border-right:1px solid var(--color-border-light, rgba(18, 19, 22, .08))}.pagination-link--next{justify-content:flex-end;text-align:right}.pagination-arrow{width:44px;height:44px;border-radius:50%;background:var(--color-surface-subtle, #F8F7F4);border:1px solid var(--color-border-medium, rgba(18, 19, 22, .16));display:flex;align-items:center;justify-content:center;color:var(--color-ink-primary, #08090B);flex-shrink:0;transition:all .25s ease}.pagination-link:hover .pagination-arrow{background:var(--color-ink-primary, #08090B);color:#fff;border-color:var(--color-ink-primary, #08090B)}.pagination-text{display:flex;flex-direction:column;gap:.25rem}.pagination-sub{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#121316;font-weight:600}.pagination-title{font-family:var(--font-display, "Space Grotesk", sans-serif);font-size:1.125rem;font-weight:700;color:var(--color-ink-primary, #08090B);line-height:1.3}.pagination-cat{font-size:.8125rem;color:var(--color-ink-secondary, #55575D)}.pagination-divider{display:flex;align-items:center;justify-content:center;padding:0 1.5rem;background:var(--color-surface-subtle, #F8F7F4);border-right:1px solid var(--color-border-light, rgba(18, 19, 22, .08))}.pagination-all-btn{display:flex;flex-direction:column;align-items:center;gap:.35rem;color:var(--color-ink-secondary, #55575D);text-decoration:none;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;transition:color .2s ease}.pagination-all-btn:hover{color:var(--color-ink-primary, #08090B)}.related-projects-section{background-color:var(--color-bg-warm, #FFFFFF);padding:5.5rem 0;border-top:1px solid var(--color-border-light, rgba(18, 19, 22, .08))}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.25rem;margin-top:2.5rem}@media(max-width:1024px){.projects-directory-grid{grid-template-columns:repeat(2,1fr);gap:1.75rem}.project-body-grid{grid-template-columns:1fr;gap:3.5rem}.project-spec-card{position:static}.meta-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.related-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.gallery-item--half,.gallery-item--third{grid-column:span 12;aspect-ratio:16 / 10}}@media(max-width:768px){.portfolio-hero,.project-hero{padding-top:calc(var(--header-height, 80px) + 2rem);padding-bottom:2.75rem}.project-hero-media{aspect-ratio:16 / 10;min-height:280px}.portfolio-hero__stats{gap:1.25rem 2rem}.filter-bar{padding:0;gap:.25rem;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-left:0;margin-right:0}.filter-bar::-webkit-scrollbar{display:none}.filter-btn{white-space:nowrap;flex-shrink:0}.project-pagination-strip{flex-direction:column}.pagination-link--prev{border-right:none;border-bottom:1px solid var(--color-border-light, rgba(18, 19, 22, .08))}.pagination-divider{border-right:none;border-bottom:1px solid var(--color-border-light, rgba(18, 19, 22, .08));padding:1rem}.pagination-link--next{justify-content:flex-start;text-align:left;flex-direction:row-reverse}.related-grid{grid-template-columns:1fr}}@media(max-width:960px){.project-meta-strip{padding:1.5rem 1.75rem}.meta-grid{grid-template-columns:1fr 1fr;gap:1.75rem 2rem}.meta-item:nth-child(3){grid-column:span 2;padding-top:1.15rem;border-top:1px solid rgba(255,255,255,.08)}.meta-item:first-child:after{display:block;right:-1rem}.meta-item:nth-child(2):after,.meta-item:nth-child(3):after{display:none}}@media(max-width:640px){.projects-toolbar{flex-direction:column;align-items:stretch;gap:.85rem;margin-bottom:1.5rem}.projects-search-box{max-width:100%;width:100%}.projects-count-badge{align-self:flex-start}.projects-directory-grid{grid-template-columns:1fr;gap:1.25rem}.showcase-card__body{padding:1.35rem 1.25rem 1.25rem}.project-meta-strip{padding:1.35rem 1.25rem;margin-top:1.5rem}.meta-grid{grid-template-columns:1fr;gap:1.15rem}.meta-item:nth-child(3){grid-column:span 1;padding-top:0;border-top:none}.meta-item:not(:last-child){padding-bottom:1.15rem;border-bottom:1px solid rgba(255,255,255,.07)}.meta-item:after{display:none!important}.meta-item__value{font-size:.95rem}}.project-narrative-section .eyebrow,.project-spec-card .eyebrow,.project-spec-card__header span.eyebrow,.project-gallery-section .eyebrow,.related-projects-section .eyebrow{color:#121316!important}.spec-whatsapp-link{color:#0c6e62!important}
