.portfolio-page { background: var(--color-cream); color: #35575a; font-family: var(--font-sans); }
.portfolio-page h1,.portfolio-page h2,.portfolio-page h3 { font-family: var(--font-serif); font-weight:400; }
.portfolio-page .site-header { background: var(--color-blue); color:var(--color-cream); }
.portfolio-page .main-nav { font-family:var(--font-serif); }
.portfolio-page .main-nav [aria-current] { text-decoration:underline; text-underline-offset:10px; text-decoration-thickness:1px; }
.wrap { width:calc(100% - 12vw); max-width:1680px; margin-inline:auto; }
.eyebrow { font:12px/1.6 var(--font-sans); letter-spacing:.12em; }
.folio-intro { position:relative; padding-block:65px 60px; min-height:710px; }
.folio-intro>.eyebrow { display:flex; justify-content:space-between; }
.folio-intro h1 { position:relative; z-index:1; font-size:clamp(66px,9.5vw,180px); line-height:1.15; margin:55px 0 45px; letter-spacing:-.04em; }
.folio-intro h1>span { margin-left:15vw; color:var(--color-blue); }
.folio-intro h1 i { font-style:normal; font-family:Arial,sans-serif; color:var(--color-brown); margin-left:5vw; font-size:.65em; }
.intro-bottom { display:flex; justify-content:space-between; align-items:end; gap:24px; }
.intro-bottom p { font-size:16px; line-height:1.9; }
.intro-bottom a { border-bottom:1px solid #91734b88; padding:12px 0; font-size:14px; }
.intro-bottom a span { margin-left:30px; }.edition { font-size:12px; }
.orbit-stamp { position:absolute; right:5%; top:20%; width:170px; height:170px; border:1px solid #94927555; border-radius:50%; display:grid; place-content:center; gap:12px; text-align:center; transform:rotate(var(--orbit, -15deg)); font-size:11px; letter-spacing:.2em; }
.orbit-stamp i { height:1px; background:var(--color-brown); width:80px; }
.section-title { padding:70px 0 40px; }.section-title h2 { font-size:clamp(32px,3.7vw,64px); line-height:1.4; margin:18px 0; }.section-title p { font-size:16px; line-height:1.9; color:#6b7769; }
.feature-track { height:auto; }.feature-panel { position:relative; display:grid; grid-template-columns:1.4fr 1fr; background:var(--color-paper); min-height:520px; height:min(680px,76svh); }
.feature-image { position:relative; overflow:hidden; background:#bd2528; display:grid; place-items:center; padding:6%; }
.feature-image img { width:100%; height:100%; object-fit:contain;  }
.image-index { position:absolute; left:24px; bottom:24px; color:var(--color-cream); font-size:11px; letter-spacing:.12em; }
.feature-story { display:flex; flex-direction:column; justify-content:center; padding:clamp(24px,4vw,70px); }
.feature-story h3 { font-size:clamp(30px,3.1vw,54px); line-height:1.3; margin:20px 0; }
.feature-story p { font-size:15px; line-height:1.9; }.project-facts { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0; font-size:11px; }.project-facts span { border:1px solid #94927577; padding:5px 9px; }
.text-link { display:block; background:none; border:0; border-bottom:1px solid #94927588; color:inherit; padding:12px 0; text-align:left; cursor:pointer; font-size:16px; }.text-link>span { float:right; }
.recent { padding-bottom:100px; }.recent-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:5vw; align-items:start; }.recent-card { text-align:left; padding:0; border:0; background:none; cursor:pointer; min-width:0; }.recent-card:nth-child(2) { margin-top:110px; }
.card-image { position:relative; aspect-ratio:1.2; overflow:hidden; padding:8%; display:grid; place-items:center; }.burgundy { background:#92213e; }.plum { background:#561325; }.card-image img { width:100%; height:100%; object-fit:contain; transition:transform .8s cubic-bezier(.2,.7,.2,1); }.recent-card:hover img,.archive-card:hover img { transform:scale(1.045); }.card-image>span { position:absolute; bottom:20px; right:20px; padding:9px 14px; background:var(--color-cream); font-size:12px; }
.card-caption { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-top:22px; }.card-caption h3 { font-size:clamp(22px,2vw,32px); }.card-caption>span { font-size:10px; }.recent-card>p { font-size:14px; line-height:1.8; margin-top:12px; color:#6b7769; }
.archive { background:var(--color-paper); padding:20px 0 90px; }.archive-toolbar { display:flex; align-items:center; justify-content:space-between; border-block:1px solid #94927555; padding:20px 0; gap:16px; }.filters { display:flex; flex-wrap:wrap; gap:10px; }.filters button { padding:9px 15px; border:1px solid transparent; background:none; cursor:pointer; font-size:14px; }.filters button[aria-pressed=true] { background:var(--color-blue); color:var(--color-cream); }.filters small { margin-left:10px; }.archive-count { font-size:12px; white-space:nowrap; }
.archive-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:45px 28px; padding-top:35px; }.archive-card { border:0; padding:0; text-align:left; background:none; cursor:pointer; }.archive-card[hidden] { display:none; }.archive-card .card-image { aspect-ratio:1.65; }.archive-card h3 { font-size:clamp(21px,1.9vw,30px); line-height:1.5; margin:16px 0 8px; }.archive-card p { font-size:12px; color:#627267; }
.approach { display:grid; grid-template-columns:1fr 1fr; gap:8vw; padding-block:70px 110px; }.approach-list { padding-top:85px; }.approach-list article { display:flex; gap:24px; border-top:1px solid #94927566; padding:30px 0; }.approach-list article>span { font-size:12px; }.approach-list h3 { font-size:26px; margin-bottom:12px; }.approach-list p { font-size:15px; line-height:1.9; color:#6b7769; }.approach-list b { margin-left:auto; font-size:26px; font-weight:400; }
.folio-cta { background:var(--color-blue); color:var(--color-cream); padding:90px 0; }.folio-cta h2 { font-size:clamp(40px,6vw,96px); line-height:1.35; margin:35px 0; }.folio-cta a { display:flex; justify-content:space-between; padding:20px 0; border-bottom:1px solid #f4f0cd66; font-size:20px; max-width:500px; }.folio-footer { display:flex; justify-content:space-between; gap:24px; padding-block:35px; font-size:12px; }
.project-dialog { width:min(1050px,92vw); max-height:90svh; padding:24px; border:0; color:#35575a; background:var(--color-cream); }.project-dialog::backdrop { background:#183c47bb; backdrop-filter:blur(5px); }.detail-close { display:block; margin:0 0 18px auto; border:0; background:none; cursor:pointer; padding:10px; }.detail-image { padding:24px; }.detail-image img { width:100%; height:45svh; object-fit:contain; }.detail-copy { padding:25px 12px; }.detail-copy h2 { font-size:32px; margin:12px 0; }.detail-copy p { line-height:1.9; }.detail-copy ul { display:flex; flex-wrap:wrap; gap:15px; font-size:12px; margin:20px 0; }
.portfolio-page.motion-ready .reveal { opacity:0; transform:translateY(28px); transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1); }.portfolio-page.motion-ready .reveal.revealed { opacity:1; transform:none; }
@media(max-width:900px) { .feature-track { height:auto; }.feature-panel { position:relative; top:auto; height:auto; min-height:0; grid-template-columns:1fr; }.feature-image { min-height:320px; }.feature-story { padding:30px; }.feature-story h3 br { display:none; }.feature-story h3 { line-height:1.6; }.approach { grid-template-columns:1fr; gap:0; }.approach-list { padding-top:0; }.orbit-stamp { right:0; width:120px; height:120px; } }
@media(max-width:600px) { .folio-intro { min-height:0; padding-block:35px 45px; }.folio-intro>.eyebrow { font-size:10px; }.folio-intro>.eyebrow span:last-child { display:none; }.folio-intro h1 { font-size:17vw; margin:65px 0 35px; }.folio-intro h1>span { margin-left:10vw; }.folio-intro h1 i { margin-left:2vw; }.orbit-stamp { top:15px; width:85px; height:85px; font-size:8px; gap:8px; }.orbit-stamp i { width:40px; }.intro-bottom { flex-wrap:wrap; }.intro-bottom p { font-size:14px; }.edition { display:none; }.section-title { padding-top:45px; }.section-title h2 { font-size:32px; }.section-title p { font-size:14px; }.recent-grid,.archive-grid { grid-template-columns:1fr; gap:35px; }.recent-card:nth-child(2) { margin-top:0; }.card-caption { flex-wrap:wrap; }.archive-toolbar { flex-wrap:wrap; }.filters { gap:4px; }.filters button { padding:8px 9px; font-size:13px; }.feature-image { min-height:230px; }.feature-story { padding:24px; }.feature-story h3 { font-size:28px; }.image-index { font-size:9px; left:14px; bottom:14px; }.approach { padding-block:20px 55px; }.approach-list article { gap:14px; }.approach-list h3 { font-size:24px; }.folio-cta { padding:60px 0; }.folio-footer { flex-wrap:wrap; padding-bottom:100px; }.detail-copy h2 { font-size:26px; }.project-dialog { padding:16px; }.detail-image { padding:12px; }.detail-image img { height:30svh; } }
@media(prefers-reduced-motion:reduce) { .portfolio-page.motion-ready .reveal { opacity:1; transform:none; transition:none; }.feature-track { height:auto; }.feature-panel { position:relative; top:auto; }.feature-image img,.card-image img { transform:none!important; transition:none; } }
