.vp-page{margin:0;color:#f4f4f4;background:#000;font:16px/1.55 system-ui,sans-serif}
.vp-page *{box-sizing:border-box}
.vp-page a{color:inherit}
.vp-nav,.vp-main,.vp-footer{width:min(1320px,calc(100% - 88px));margin-inline:auto}
.vp-nav{display:flex;align-items:center;justify-content:space-between;gap:12px 28px;flex-wrap:wrap;padding:22px 0;border-bottom:1px solid #333;position:sticky;top:0;z-index:50;background:rgb(0 0 0 / 75%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#f4f4f4;font:500 14px/1.4 system-ui,sans-serif}
body:not(.vp-page)>.vp-nav{width:100%;box-sizing:border-box;padding-inline:clamp(18px,4vw,56px)}
.vp-nav a{color:#f4f4f4;text-decoration:none}
.vp-brand{font-weight:700;letter-spacing:-.025em}
.vp-nav .vp-menu{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;margin:0;padding:0;border:0;position:static;background:transparent;font:inherit;width:auto}
.vp-menu a[aria-current],.vp-menu a:hover,.vp-text-link:hover{text-decoration:underline;text-underline-offset:.3em}
.vp-page a:focus-visible,.vp-nav a:focus-visible{outline:2px solid #375b48;outline-offset:5px}
.vp-hero{padding:clamp(54px,7vw,104px) 0 clamp(32px,5vw,62px)}
.vp-eyebrow,.vp-card-top,.vp-footer{font:600 .73rem/1.45 ui-monospace,monospace;letter-spacing:.085em}
.vp-eyebrow{color:#a7c5b3;margin:0 0 14px}
.vp-eyebrow span{display:inline-block;width:8px;height:8px;border-radius:50%;background:#a7c5b3;margin-right:7px}
.vp-page h1{font-size:clamp(2.7rem,7vw,6.85rem);font-weight:590;letter-spacing:-.072em;line-height:.98;margin:0;max-width:16ch;text-wrap:balance}
.vp-lede{font-size:clamp(1.02rem,1.7vw,1.26rem);max-width:55ch;margin:20px 0 0;color:#b9b9b9}
.vp-cards,.vp-below{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,42px)}
.vp-card-link{display:block;text-decoration:none}
.vp-card figure{margin:0;aspect-ratio:16/9;background:#e5e7e1;overflow:hidden}
.vp-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.vp-card:first-child img{object-fit:cover;aspect-ratio:auto}
.vp-card-link:hover img{transform:scale(1.03)}
.vp-card-top{display:flex;justify-content:space-between;align-items:center;margin-top:15px;color:#a7c5b3}
.vp-card-top span+span{font-size:1.35rem;line-height:1}
.vp-card h2,.vp-below h2{font-size:clamp(1.65rem,3.2vw,3rem);line-height:1.06;letter-spacing:-.05em;font-weight:620;margin:.22em 0}
.vp-card p,.vp-below p:not(.vp-eyebrow){color:#b9b9b9;max-width:57ch;margin:.5em 0}
.vp-below{border-top:1px solid #333;margin:clamp(44px,7vw,88px) 0 0;padding:32px 0 48px}
.vp-text-link{display:inline-block;margin-top:8px;text-decoration:none;font-weight:650}
.vp-contact-links{display:grid;gap:10px;margin-top:18px;justify-items:start}
.vp-contact-links a{overflow-wrap:anywhere;text-underline-offset:.24em}
.vp-footer{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #333;padding:20px 0}
.vp-inner{padding:clamp(38px,6vw,72px) 0 32px}
.vp-inner h1{font-size:clamp(2.4rem,6vw,5rem)}
.vp-short{min-height:55vh}
.vp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:21px}
.vp-page .vp-button{display:inline-block;padding:10px 16px;background:#263b2f;color:#fff;border:1px solid #263b2f;text-decoration:none}
.vp-page .vp-button:hover{background:#375746}
.vp-page .vp-outline{background:transparent;color:#d5e8dd}
.vp-page .vp-outline:hover{background:#24352b}
.vp-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 18px;padding:8px clamp(18px,4vw,56px);border-bottom:1px solid #333}
.vp-viewer-toolbar h1{font-size:1rem;letter-spacing:0;line-height:1.4;max-width:none}
.vp-viewer-toolbar .vp-actions{margin:0}
.vp-viewer-toolbar .vp-button{padding:5px 9px;font-size:.82rem}
.vp-portfolio-pages{margin-inline:auto;max-width:2400px}
.vp-portfolio-pages img{display:block;width:100%;height:auto}
@media(max-width:720px){
 .vp-nav,.vp-main,.vp-footer{width:calc(100% - 36px)}
 .vp-nav .vp-menu{gap:8px 16px}
 .vp-cards,.vp-below{grid-template-columns:1fr;gap:30px}
 .vp-viewer .vp-nav{padding-block:10px}
}
@media(prefers-reduced-motion:reduce){.vp-card img{transition:none}}
