/* Supplied portfolio boards remain uncropped, with their native aspect ratios. */
.portfolio-intro{padding-top:66px;padding-bottom:64px}
.portfolio-intro-top{display:flex;align-items:center;justify-content:space-between;gap:24px}
.portfolio-intro-top>.mono{font-size:11px;color:var(--muted);letter-spacing:.07em}
.portfolio-intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end;margin-top:42px}
.portfolio-intro h1{font-size:clamp(42px,4.4vw,66px);line-height:1.2;letter-spacing:-.05em;margin:0;font-weight:550}
.portfolio-intro h1>span{color:#85867e}
.portfolio-intro-grid p{font-size:17px;line-height:1.9;max-width:35rem;margin-bottom:22px}
.portfolio-intro-grid .text-link{font-size:14px}
.portfolio-archive{padding-bottom:110px;scroll-margin-top:105px}
.portfolio-controls{padding-top:26px;border-top:1px solid var(--ink);margin-bottom:42px}
.portfolio-filters{display:flex;gap:10px;flex-wrap:wrap}
.portfolio-filters button{display:inline-flex;gap:12px;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;border:1px solid var(--border);border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:14px;line-height:1.4;transition:background .25s,color .25s,border-color .25s;cursor:pointer}
.portfolio-filters button span{font-family:'Courier New',monospace;font-size:11px;opacity:.7}
.portfolio-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--ground)}
.portfolio-filters button:hover:not([aria-pressed=true]){border-color:var(--accent);color:var(--accent)}
.portfolio-search-row{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-top:25px}
.portfolio-search{display:flex;align-items:center;gap:24px;width:min(100%,620px)}
.portfolio-search>span{font-size:12px;color:var(--muted);flex-shrink:0}
.portfolio-search input{width:100%;min-width:0;min-height:44px;border:0;border-bottom:1px solid var(--border);background:transparent;padding:10px 4px;color:var(--ink);font:inherit;font-size:14px;border-radius:0}
.portfolio-search input::placeholder{color:#77786f}
.portfolio-count{font-size:12px;white-space:nowrap;color:var(--muted);padding-bottom:10px}
.portfolio-count>span{font-family:'Courier New',monospace;color:var(--ink)}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:30px;row-gap:53px}
.portfolio-card{min-width:0}
.portfolio-card-link{display:block;height:100%;outline-offset:8px}
.portfolio-cover{aspect-ratio:1;isolation:isolate;background:var(--surface);transition:transform .5s var(--ease),box-shadow .5s var(--ease);will-change:auto}
.portfolio-cover img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.portfolio-card-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px;min-height:30px}
.portfolio-card-meta>.mono{font-size:11px;color:var(--muted);letter-spacing:.015em}
.portfolio-card-meta>.mono>span{color:#b7b5ad;margin-inline:7px}
.portfolio-card-arrow{width:30px;height:30px;display:grid;place-items:center;font-size:22px;color:var(--muted);transition:transform .4s var(--ease),color .3s}
.portfolio-card h2{font-size:22px;line-height:1.45;letter-spacing:-.025em;font-weight:550;margin:8px 0 8px;max-width:98%;transition:color .3s}
.portfolio-card-scope{font-size:12px;line-height:1.65;color:var(--muted)}
.portfolio-card-link:focus-visible .portfolio-cover{transform:translateY(-5px);box-shadow:0 16px 28px -20px #24282070}
.portfolio-card-link:focus-visible .portfolio-card-arrow{color:var(--accent);transform:translate(3px,-3px)}
.portfolio-card-link:focus-visible h2{color:var(--accent)}
@media(hover:hover){.portfolio-card-link:hover .portfolio-cover{transform:translateY(-5px);box-shadow:0 16px 28px -20px #24282070}.portfolio-card-link:hover .portfolio-card-arrow{color:var(--accent);transform:translate(3px,-3px)}.portfolio-card-link:hover h2{color:var(--accent)}}
.portfolio-no-results{padding:65px 0 40px;text-align:center}
.portfolio-no-results h2{font-size:28px;margin-bottom:15px}
.portfolio-no-results p{margin-bottom:25px}
.portfolio-project-hero{padding:30px 0 62px;background:linear-gradient(180deg,var(--ground) 40%,var(--surface))}
.portfolio-breadcrumb{display:flex;align-items:center;gap:15px;font-size:12px;color:var(--muted);margin-bottom:35px}
.portfolio-breadcrumb a{text-underline-offset:4px}
.portfolio-breadcrumb a:hover{text-decoration:underline}
.portfolio-breadcrumb>span:last-child{font-family:'Courier New',monospace}
.portfolio-project-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:64px}
.portfolio-project-copy h1{font-size:clamp(32px,3.3vw,48px);line-height:1.28;letter-spacing:-.045em;font-weight:550;margin:28px 0 24px;word-break:keep-all;overflow-wrap:anywhere}
.portfolio-project-copy>p{font-size:17px;line-height:1.95}
.portfolio-project-meta{margin:30px 0 27px;border-top:1px solid var(--border)}
.portfolio-project-meta>div{display:grid;grid-template-columns:120px 1fr;gap:24px;border-bottom:1px solid var(--border);padding:14px 0;font-size:13px;line-height:1.8}
.portfolio-project-meta dt{color:var(--muted)}
.portfolio-project-meta dd{margin:0;overflow-wrap:anywhere}
.portfolio-project-copy>.text-link{font-size:14px}
.portfolio-project-copy .portfolio-scope-note{font-size:14px;line-height:1.8;border-left:2px solid var(--accent);padding-left:18px;margin-bottom:25px}
.portfolio-project-cover{margin:0;min-width:0}
.portfolio-project-cover>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;box-shadow:0 20px 38px -28px #272d2950}
.portfolio-project-cover figcaption{display:flex;justify-content:space-between;gap:20px;font-size:11px;line-height:1.7;color:var(--muted);margin-top:15px}
.portfolio-section-nav{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--ground)}
.portfolio-section-nav>.container{display:flex;gap:34px;align-items:center;flex-wrap:wrap;padding-block:20px}
.portfolio-section-nav a{font-size:13px;line-height:1.6;min-height:24px;display:inline-flex;align-items:center;gap:9px;transition:color .25s}
.portfolio-section-nav a:hover{color:var(--accent)}
.portfolio-section-nav a .mono{font-size:10px;color:var(--muted)}
.portfolio-section-nav .portfolio-section-contact{margin-left:auto;color:var(--accent)}
.portfolio-overview{display:grid;grid-template-columns:1fr 1.25fr;gap:80px;padding-block:78px}
.portfolio-section-heading{margin-bottom:42px}
.portfolio-section-heading .eyebrow{margin-bottom:25px}
.portfolio-section-heading h2{font-size:clamp(28px,2.7vw,39px);font-weight:550;letter-spacing:-.035em;line-height:1.35;margin:0}
.portfolio-section-heading>p{font-size:16px;line-height:1.9;max-width:43rem;margin-top:20px}
.portfolio-overview .portfolio-section-heading{margin:0}
.portfolio-overview-copy p{font-size:17px;line-height:2;margin-bottom:20px}
.portfolio-overview-copy p:last-child{margin-bottom:0}
.portfolio-overview-copy .portfolio-visual-note{font-size:13px;line-height:1.8;color:var(--muted);margin-top:24px;padding-top:17px;border-top:1px solid var(--border)}
.portfolio-feature-section{background:var(--surface);padding-block:75px}
.portfolio-feature-list{border-top:1px solid var(--border)}
.portfolio-feature{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:64px;align-items:center;padding:48px 0;border-bottom:1px solid var(--border)}
.portfolio-feature:last-child{padding-bottom:0;border-bottom:0}
.portfolio-feature-copy>.mono{font-size:12px}
.portfolio-feature-copy h3{font-size:27px;font-weight:550;line-height:1.4;letter-spacing:-.035em;margin:22px 0 18px}
.portfolio-feature-copy p{font-size:16px;line-height:1.95}
.portfolio-feature-media{min-width:0}
.portfolio-board{width:100%;max-width:736px;margin:0 auto;min-width:0}
.portfolio-board>a{display:block;outline-offset:6px}
.portfolio-board img{width:100%;height:auto;display:block;background:#eef0f2}
.portfolio-board figcaption{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px;line-height:1.8;margin-top:13px}
.portfolio-board figcaption>a{flex-shrink:0;text-underline-offset:3px}
.portfolio-board figcaption>a:hover{color:var(--accent);text-decoration:underline}
.portfolio-design-section{padding-block:82px}
.portfolio-design-section>.portfolio-section-heading,.portfolio-flow-section .portfolio-section-heading{max-width:736px;margin-inline:auto}
.portfolio-flow-section{padding-block:75px;background:var(--surface)}
.portfolio-related-services{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:80px}
.portfolio-related-services h2{font-size:32px;line-height:1.45;letter-spacing:-.035em;margin-top:25px;max-width:32rem}
.portfolio-related-services>div:last-child{border-top:1px solid var(--border)}
.portfolio-related-services>div:last-child>a{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid var(--border);font-size:18px;transition:color .3s}
.portfolio-related-services>div:last-child>a:hover{color:var(--accent)}
.portfolio-related{padding-block:35px 85px}
.portfolio-related-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:38px}
.portfolio-related-heading>h2{font-size:30px;line-height:1.4;letter-spacing:-.03em}
.portfolio-related-heading>.text-link{font-size:13px}
.portfolio-next{display:grid;grid-template-columns:220px 1fr 25px;gap:25px;align-items:center;border-top:1px solid var(--ink);border-bottom:1px solid var(--border);padding:30px 0;margin-top:65px;transition:color .3s}
.portfolio-next>.mono{font-size:11px;color:var(--muted)}
.portfolio-next>span:nth-child(2){font-size:22px;line-height:1.5}
.portfolio-next>span:last-child{font-size:26px;transition:transform .4s var(--ease)}
.portfolio-next:hover{color:var(--accent)}
.portfolio-next:hover>span:last-child{transform:translate(3px,-3px)}
.portfolio-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[id^=project-]{scroll-margin-top:105px}
@media(min-width:1500px){.portfolio-grid{column-gap:36px}.portfolio-feature{gap:80px}.portfolio-project-grid{gap:80px}}
@media(max-width:1100px){.portfolio-intro-grid{gap:38px}.portfolio-intro-grid p{font-size:16px}.portfolio-grid{column-gap:24px;row-gap:42px}.portfolio-card h2{font-size:20px}.portfolio-project-grid{gap:38px}.portfolio-project-copy h1{font-size:34px}.portfolio-project-copy>p{font-size:16px}.portfolio-project-meta>div{grid-template-columns:100px 1fr;gap:16px}.portfolio-overview,.portfolio-feature,.portfolio-related-services{gap:40px}.portfolio-feature-copy h3{font-size:24px}.portfolio-section-nav>.container{gap:25px}.portfolio-card-meta>.mono{font-size:10px}}
@media(max-width:1000px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-intro-grid{grid-template-columns:1fr 1fr}.portfolio-intro h1{font-size:43px}.portfolio-intro-grid p br{display:none}.portfolio-related .portfolio-card:last-child{display:none}}
@media(max-width:900px){.portfolio-project-grid{grid-template-columns:1fr;gap:35px}.portfolio-project-copy{max-width:700px}.portfolio-project-copy h1{font-size:42px;max-width:680px}.portfolio-project-copy>p{font-size:17px}.portfolio-project-meta{max-width:680px}.portfolio-project-cover{width:100%;max-width:650px;margin:auto}.portfolio-section-nav>.container{gap:22px}.portfolio-section-nav .portfolio-section-contact{margin-left:0}.portfolio-feature{grid-template-columns:1fr;gap:27px;padding-block:38px}.portfolio-feature-copy{max-width:620px}.portfolio-feature-copy h3{margin-top:15px}.portfolio-feature .portfolio-board{max-width:736px}.portfolio-overview{grid-template-columns:1fr;gap:28px;padding-block:60px}.portfolio-related-services{grid-template-columns:1fr;gap:30px}.portfolio-related-services h2{max-width:none}}
@media(max-width:620px){.portfolio-intro{padding-top:38px;padding-bottom:37px}.portfolio-intro-top{gap:14px}.portfolio-intro-top>.mono{font-size:9px;letter-spacing:0}.portfolio-intro-top .eyebrow{font-size:10px;gap:10px}.portfolio-intro-grid{grid-template-columns:1fr;gap:25px;margin-top:31px}.portfolio-intro h1{font-size:clamp(35px,8.8vw,48px)}.portfolio-intro-grid p{font-size:16px;margin-bottom:17px}.portfolio-controls{padding-top:20px;margin-bottom:30px}.portfolio-filters{gap:8px}.portfolio-filters button{font-size:12px;min-height:42px;padding:9px 12px;gap:9px}.portfolio-filters button span{font-size:10px}.portfolio-search-row{gap:12px;align-items:flex-end;margin-top:20px}.portfolio-search{display:block}.portfolio-search>span{display:block;font-size:11px;margin-bottom:4px}.portfolio-search input{font-size:13px;padding-block:9px}.portfolio-count{font-size:11px;padding-bottom:11px}.portfolio-grid{grid-template-columns:1fr;gap:35px}.portfolio-card-meta{margin-top:14px}.portfolio-card-meta>.mono{font-size:11px}.portfolio-card h2{font-size:23px;margin:5px 0 7px}.portfolio-card-scope{font-size:12px}.portfolio-archive{padding-bottom:68px}.portfolio-project-hero{padding-top:24px;padding-bottom:38px}.portfolio-breadcrumb{margin-bottom:28px}.portfolio-project-copy h1{font-size:34px;line-height:1.3;margin-top:23px}.portfolio-project-copy>p{font-size:16px;line-height:1.9}.portfolio-project-meta>div{grid-template-columns:100px 1fr;gap:15px;font-size:12px}.portfolio-project-grid{gap:30px}.portfolio-project-cover figcaption{font-size:10px;gap:10px}.portfolio-section-nav>.container{gap:15px 22px;padding-block:18px}.portfolio-section-nav a{font-size:12px}.portfolio-section-nav .portfolio-section-contact{width:100%;padding-top:10px;border-top:1px solid var(--border)}.portfolio-overview{padding-block:45px;gap:25px}.portfolio-section-heading .eyebrow{margin-bottom:19px}.portfolio-section-heading h2{font-size:29px}.portfolio-overview-copy p{font-size:16px;line-height:1.95}.portfolio-feature-section{padding-block:48px}.portfolio-section-heading{margin-bottom:28px}.portfolio-feature{padding-block:31px;gap:23px}.portfolio-feature-copy h3{font-size:25px}.portfolio-feature-copy p{font-size:15px;line-height:1.9}.portfolio-board figcaption{font-size:10px;gap:12px;margin-top:10px}.portfolio-design-section,.portfolio-flow-section{padding-block:50px}.portfolio-section-heading>p{font-size:15px;margin-top:17px}.portfolio-related-services{padding-block:50px;gap:25px}.portfolio-related-services h2{font-size:28px;margin-top:20px}.portfolio-related-services>div:last-child>a{font-size:16px;padding:20px 0}.portfolio-related{padding-top:20px;padding-bottom:55px}.portfolio-related-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:28px}.portfolio-related-heading>h2{font-size:28px}.portfolio-related .portfolio-card:last-child{display:block}.portfolio-next{grid-template-columns:1fr 25px;gap:14px 20px;margin-top:44px;padding-block:23px}.portfolio-next>.mono{grid-column:1/-1}.portfolio-next>span:nth-child(2){font-size:20px}.portfolio-no-results h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.portfolio-card-link:hover .portfolio-cover,.portfolio-card-link:focus-visible .portfolio-cover,.portfolio-card-link:hover .portfolio-card-arrow,.portfolio-card-link:focus-visible .portfolio-card-arrow,.portfolio-next:hover>span:last-child{transform:none}.portfolio-cover,.portfolio-card-arrow,.portfolio-next>span:last-child{transition:none}}
