.portrait-hero{padding:64px 0 72px}.portrait-hero-grid,.portrait-split{gap:40px;display:grid}.portrait-hero-copy{max-width:720px}.portrait-hero h1{margin:16px 0 20px}.portrait-hero-lead{letter-spacing:-.03em;font-size:clamp(1.7rem,8vw,2.8rem);font-weight:700;line-height:1.45}.portrait-hero-button{margin-top:12px}.portrait-hero-visual{min-height:340px}.portrait-hero-image{aspect-ratio:8/5;object-fit:cover;width:100%;min-height:0;display:block}.portrait-body-copy{max-width:720px}.portrait-body-copy p{line-height:1.9}.portrait-uses,.portrait-projects,.portrait-features{background:var(--accent-soft)}.portrait-section-heading{gap:8px;margin-bottom:32px;display:grid}.portrait-section-heading h2{margin-bottom:0}.portrait-section-heading p{max-width:680px;color:var(--muted);margin-bottom:0}.portrait-use-grid,.portrait-project-grid,.portrait-feature-grid{gap:16px;display:grid}.portrait-use-card,.portrait-feature-card{padding:26px}.portrait-use-card h3,.portrait-feature-card h3{margin:14px 0 10px;font-size:1.3rem}.portrait-use-card p,.portrait-feature-card p{color:var(--muted);margin:0}.portrait-project-visual{min-height:240px}.portrait-project-image{aspect-ratio:8/5;object-fit:cover;width:100%;min-height:0;display:block}.portrait-project-body{padding:24px}.portrait-project-body h3{margin-bottom:10px;font-size:1.35rem}.portrait-project-body p{color:var(--muted)}.portrait-project-body span{color:var(--muted);font-size:.85rem}.portrait-project-tags{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.portrait-project-tags span{background:var(--accent-secondary-soft);color:var(--accent-secondary);border-radius:999px;padding:5px 10px;font-size:.75rem;font-weight:700}.portrait-project-link{color:var(--accent-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.portrait-work-dialog{background:var(--surface);width:min(920px,100% - 32px);max-height:calc(100vh - 32px);color:var(--text);border:0;border-radius:20px;padding:0;box-shadow:0 24px 80px #17191833}.portrait-work-dialog::backdrop{background:#171918a6}.portrait-dialog-inner{padding:clamp(28px,5vw,56px);position:relative}.portrait-dialog-close{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;width:44px;height:44px;font-size:1.4rem;position:absolute;top:18px;right:18px}.portrait-dialog-inner h2{margin:12px 48px 16px 0}.portrait-dialog-summary{font-weight:700}.portrait-dialog-gallery{gap:20px;margin-top:28px;display:grid}.portrait-dialog-gallery img{object-fit:contain;width:100%;height:auto;max-height:80vh;display:block}.portrait-dialog-placeholder{min-height:280px}.portrait-process-list{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.portrait-process-list li{border-bottom:1px solid var(--border);grid-template-columns:44px 1fr;align-items:center;gap:14px;padding:24px 0;display:grid;position:relative}.portrait-process-list li:not(:last-child):after{z-index:1;color:var(--accent);content:"↓";font-size:1.1rem;position:absolute;bottom:-15px;left:16px}.portrait-process-list span{color:var(--accent);font-size:.82rem;font-weight:700}.portrait-process-list strong{font-size:1.2rem}.portrait-contact{padding-top:72px}.portrait-contact-button{border-color:var(--accent-primary)}.portrait-project-card{cursor:pointer;position:relative}.portrait-project-link:after{z-index:2;content:"";position:absolute;inset:0}.portrait-project-card:focus-within{outline:3px solid var(--accent-primary);outline-offset:3px}@media (width>=700px){.portrait-use-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portrait-project-grid,.portrait-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portrait-section-heading{grid-template-columns:1fr .8fr;align-items:end;gap:48px;margin-bottom:42px}.portrait-process-list li{grid-template-columns:72px 1fr;gap:24px;padding:28px 0}.portrait-process-list li:not(:last-child):after{left:25px}}@media (width>=900px){.portrait-hero{padding:96px 0}.portrait-hero-grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:64px}.portrait-split{grid-template-columns:.9fr 1.1fr;align-items:start;gap:72px}.portrait-hero-visual{min-height:540px}.portrait-hero-image{min-height:0}.portrait-use-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.portrait-use-card{padding:30px}}@media (width<=699px){.portrait-hero-lead br,.portrait-overview h2 br,.portrait-contact h2 br{display:none}.portrait-hero-button,.portrait-contact-button{width:100%;min-height:52px}.portrait-project-visual{min-height:190px}.portrait-project-image{min-height:0}.portrait-contact .cta{padding:52px 24px}}
