.portfolio-page{--portfolio-background:#f7fbf8;--portfolio-surface:#fff;--portfolio-text:#183a32;--portfolio-accent:#6fb99f;--portfolio-muted:#60736d;min-height:100vh;background:var(--portfolio-background);color:var(--portfolio-text);padding:clamp(1rem,3vw,2.5rem)}
.portfolio-container{width:min(1180px,100%);margin:auto}.portfolio-width-standard .portfolio-container{max-width:980px}.portfolio-width-full .portfolio-container{width:100%;max-width:1500px}
.portfolio-font-system{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}.portfolio-font-modern{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.portfolio-font-elegant{font-family:Georgia,"Times New Roman",serif}
.portfolio-hero{position:relative;overflow:hidden;border-radius:2rem;background:var(--portfolio-surface);margin-bottom:2rem;box-shadow:0 1.25rem 3rem rgba(23,63,53,.08)}.portfolio-cover{height:clamp(260px,46vw,580px);overflow:hidden}.portfolio-cover img{width:100%;height:100%;object-fit:cover}.portfolio-hero-content{display:flex;align-items:flex-end;gap:1.5rem;padding:clamp(1.5rem,4vw,3.5rem)}.has-cover .portfolio-hero-content{margin-top:-5rem;position:relative}.portfolio-avatar{width:clamp(88px,12vw,140px);height:clamp(88px,12vw,140px);border-radius:1.5rem;object-fit:cover;border:.45rem solid var(--portfolio-surface);background:var(--portfolio-surface);box-shadow:0 .75rem 2rem rgba(0,0,0,.14);flex:none}.portfolio-avatar-placeholder{display:grid;place-items:center;font-size:2.2rem;color:var(--portfolio-accent)}.portfolio-kicker,.portfolio-section-kicker,.portfolio-project-category{display:block;color:var(--portfolio-accent);font-weight:800;text-transform:uppercase;letter-spacing:.11em;font-size:.74rem}.portfolio-hero h1{font-size:clamp(2.2rem,6vw,5.5rem);line-height:.95;margin:.4rem 0 .75rem}.portfolio-title{font-size:clamp(1.05rem,2vw,1.45rem);font-weight:700;margin:0;color:var(--portfolio-muted)}.portfolio-intro{font-size:clamp(1rem,1.8vw,1.25rem);max-width:720px;margin:1rem 0 0;line-height:1.65}.portfolio-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;padding:0 clamp(1.5rem,4vw,3.5rem) clamp(1.5rem,4vw,3rem)}.portfolio-primary-button,.portfolio-secondary-button{display:inline-flex;align-items:center;gap:.65rem;border-radius:999px;padding:.85rem 1.25rem;font-weight:800;text-decoration:none;border:1px solid var(--portfolio-accent);cursor:pointer}.portfolio-primary-button{background:var(--portfolio-text);color:var(--portfolio-surface);border-color:var(--portfolio-text)}.portfolio-secondary-button{background:transparent;color:var(--portfolio-text)}
.portfolio-hero-cover.has-cover .portfolio-hero-content{position:absolute;inset:auto 0 0;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.76));margin:0;padding-top:9rem}.portfolio-hero-cover.has-cover .portfolio-hero-actions{position:absolute;right:0;bottom:0}.portfolio-hero-minimal{box-shadow:none;background:transparent;border-radius:0}.portfolio-hero-minimal .portfolio-hero-content{padding-left:0;padding-right:0}
.portfolio-filters{display:flex;gap:.65rem;flex-wrap:wrap;margin:0 0 1.5rem}.portfolio-filters button{border:1px solid color-mix(in srgb,var(--portfolio-text) 18%,transparent);background:var(--portfolio-surface);color:var(--portfolio-text);border-radius:999px;padding:.65rem 1rem;font-weight:700}.portfolio-filters button.is-active{background:var(--portfolio-text);color:var(--portfolio-surface)}
.portfolio-projects{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2.5vw,2rem)}.portfolio-project{grid-column:span 6;background:var(--portfolio-surface);border-radius:1.5rem;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.portfolio-project.is-featured{grid-column:span 12}.portfolio-project[hidden]{display:none}.portfolio-grid-grid .portfolio-project,.portfolio-grid-grid .portfolio-project.is-featured{grid-column:span 6}.portfolio-grid-editorial .portfolio-project:nth-child(3n+1){grid-column:span 7}.portfolio-grid-editorial .portfolio-project:nth-child(3n+2){grid-column:span 5}.portfolio-grid-editorial .portfolio-project:nth-child(3n){grid-column:span 12}.portfolio-project-media{position:relative;overflow:hidden;background:color-mix(in srgb,var(--portfolio-accent) 15%,var(--portfolio-surface))}.portfolio-project-media>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.portfolio-project:hover .portfolio-project-media>img{transform:scale(1.025)}.portfolio-images-natural .portfolio-project-media{aspect-ratio:auto;min-height:260px}.portfolio-images-square .portfolio-project-media{aspect-ratio:1}.portfolio-images-landscape .portfolio-project-media{aspect-ratio:16/10}.portfolio-images-portrait .portfolio-project-media{aspect-ratio:4/5}.portfolio-project-media button{position:absolute;right:1rem;bottom:1rem;width:2.8rem;height:2.8rem;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:#173f35}.portfolio-featured-badge{position:absolute;left:1rem;top:1rem;background:var(--portfolio-surface);color:var(--portfolio-text);padding:.45rem .7rem;border-radius:999px;font-size:.75rem;font-weight:800}.portfolio-project-placeholder{min-height:280px;display:grid;place-items:center;font-size:3rem;color:var(--portfolio-accent)}.portfolio-project-copy{padding:1.4rem}.portfolio-project-copy h2{font-size:clamp(1.25rem,2.3vw,2rem);margin:.45rem 0}.portfolio-project-copy p{color:var(--portfolio-muted);line-height:1.65}.portfolio-project-meta{color:var(--portfolio-muted);font-size:.9rem;margin:.75rem 0}.portfolio-project-copy a{color:var(--portfolio-text);font-weight:800;text-decoration:none}.portfolio-cards-framed .portfolio-project{border:1px solid color-mix(in srgb,var(--portfolio-text) 18%,transparent)}.portfolio-cards-floating .portfolio-project{box-shadow:0 1rem 2.5rem rgba(23,63,53,.11)}.portfolio-cards-floating .portfolio-project:hover{transform:translateY(-4px)}
.portfolio-about,.portfolio-contact,.portfolio-upgrade-card{margin-top:2rem;background:var(--portfolio-surface);border-radius:1.75rem;padding:clamp(1.5rem,4vw,3.5rem);line-height:1.75}.portfolio-about>div{max-width:820px;font-size:1.08rem}.portfolio-contact{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:center}.portfolio-contact h2,.portfolio-upgrade-card h2{font-size:clamp(1.7rem,4vw,3rem);margin:.35rem 0}.portfolio-contact-links{display:grid;gap:.7rem}.portfolio-contact-links a{display:flex;align-items:center;gap:.7rem;color:var(--portfolio-text);text-decoration:none;font-weight:700}.portfolio-footer{text-align:center;padding:2rem}.portfolio-footer a{color:var(--portfolio-muted);text-decoration:none}.portfolio-preview-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--portfolio-text);color:var(--portfolio-surface);padding:.65rem 1rem;border-radius:999px;margin-bottom:1rem}.portfolio-preview-media{min-height:280px;display:grid;place-items:center;font-size:4rem}.portfolio-preview-tone-1{background:#dff4ea}.portfolio-preview-tone-2{background:#efe8ff}.portfolio-preview-tone-3{background:#fdebd8}.portfolio-preview-tone-4{background:#dfeafa}.portfolio-upgrade-card{text-align:center}.portfolio-editor-media-preview,.portfolio-editor-project-preview{display:block;width:100%;max-height:220px;object-fit:cover;border-radius:1rem}.portfolio-editor-avatar-preview{display:block;width:120px;height:120px;object-fit:cover;border-radius:1rem}.portfolio-editor-project{background:#fff}.portfolio-empty{text-align:center;grid-column:1/-1;padding:4rem;color:var(--portfolio-muted)}
.portfolio-lightbox{position:fixed;inset:0;z-index:1080;background:rgba(0,0,0,.92);display:grid;place-items:center;padding:2rem}.portfolio-lightbox[hidden]{display:none}.portfolio-lightbox img{max-width:min(1200px,95vw);max-height:88vh;object-fit:contain}.portfolio-lightbox button{position:absolute;top:1rem;right:1rem;border:0;border-radius:50%;width:3rem;height:3rem;background:#fff;color:#111}.portfolio-lightbox-open{overflow:hidden}
@media(max-width:767.98px){.portfolio-page{padding:.75rem}.portfolio-hero{border-radius:1.25rem}.portfolio-hero-content{align-items:flex-start;flex-direction:column}.has-cover .portfolio-hero-content{margin-top:-3rem}.portfolio-project,.portfolio-project.is-featured,.portfolio-grid-grid .portfolio-project,.portfolio-grid-editorial .portfolio-project:nth-child(n){grid-column:1/-1}.portfolio-contact{grid-template-columns:1fr}.portfolio-hero-cover.has-cover .portfolio-hero-content{position:relative;background:var(--portfolio-surface);color:var(--portfolio-text);padding-top:1.5rem}.portfolio-hero-cover.has-cover .portfolio-hero-actions{position:relative}.portfolio-images-natural .portfolio-project-media{min-height:220px}}
@media(prefers-reduced-motion:reduce){.portfolio-project,.portfolio-project-media>img{transition:none}}
.portfolio-page{--portfolio-button:var(--portfolio-text);--portfolio-button-text:var(--portfolio-surface);font-family:var(--portfolio-font-family,inherit)}
.portfolio-primary-button{background:var(--portfolio-button);color:var(--portfolio-button-text);border-color:var(--portfolio-button)}
.portfolio-buttons-rounded .portfolio-primary-button,.portfolio-buttons-rounded .portfolio-secondary-button{border-radius:.85rem}.portfolio-buttons-pill .portfolio-primary-button,.portfolio-buttons-pill .portfolio-secondary-button{border-radius:999px}.portfolio-buttons-square .portfolio-primary-button,.portfolio-buttons-square .portfolio-secondary-button{border-radius:.15rem}
.portfolio-availability{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:1rem;font-size:.9rem;color:var(--portfolio-muted)}.portfolio-availability>span{width:.65rem;height:.65rem;border-radius:50%;background:#2e9f65}.portfolio-availability.is-limited>span{background:#d08c2f}.portfolio-availability.is-unavailable>span{background:#bb4a4a}.portfolio-availability small{flex-basis:100%;padding-left:1.1rem;color:var(--portfolio-muted)}
.portfolio-lightbox>.portfolio-lightbox-nav{top:50%;transform:translateY(-50%);background:rgba(255,255,255,.92);color:#111}.portfolio-lightbox>.portfolio-lightbox-prev{left:1rem;right:auto}.portfolio-lightbox>.portfolio-lightbox-next{right:1rem}.portfolio-lightbox>[data-portfolio-lightbox-close]{top:1rem;right:1rem;transform:none}
.portfolio-editor-drag-handle{cursor:grab;display:inline-flex;padding:.25rem}.portfolio-editor-project.is-dragging{opacity:.55;outline:2px dashed var(--bs-primary)}
@media(max-width:575.98px){.portfolio-lightbox>.portfolio-lightbox-prev{left:.35rem}.portfolio-lightbox>.portfolio-lightbox-next{right:.35rem}}
