.portfolio-page{background:#f8f7f2;color:#242520}
.portfolio-header{justify-content:space-between}
.portfolio-wordmark,.portfolio-footer>a:first-child{display:block;font-size:27px;line-height:1;font-weight:900;letter-spacing:-.08em;white-space:nowrap}
.portfolio-wordmark span,.portfolio-footer>a:first-child span{display:block;margin-top:8px;font-size:7px;font-weight:500;letter-spacing:.12em}
.portfolio-header .nav a[aria-current="page"]{color:#c14d35}
.portfolio-hero{min-height:min(790px,calc(100svh - 100px));padding:27px var(--pad) 0;display:flex;flex-direction:column;background:#e7e9de;overflow:hidden}
.portfolio-topline,.portfolio-hero-bottom,.portfolio-section-meta{display:flex;justify-content:space-between;gap:24px;font-size:10px;letter-spacing:.13em}
.portfolio-topline{color:#697063}
.portfolio-hero-main{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5%;flex:1;max-width:1400px;width:100%;margin:auto;padding:70px 0}
.portfolio-kicker{font-size:10px;letter-spacing:.2em;color:#b25842;font-weight:700}
.portfolio-hero h1{font-size:clamp(64px,8.2vw,130px);line-height:1.23;letter-spacing:-.085em;font-weight:800;margin:24px 0 30px}
.portfolio-hero h1 span{color:#c14d35}
.portfolio-hero-copy{font-size:15px;line-height:2.2;letter-spacing:.03em}
.portfolio-hero-art{position:relative;height:420px;min-width:0}
.portfolio-hero-art span{position:absolute;display:block}
.portfolio-circle{width:215px;height:215px;border:15px solid #242520;border-radius:50%;left:10%;top:22%}
.portfolio-square{width:210px;height:210px;border:15px solid #afb8a0;left:35%;top:36%;transform:rotate(-13deg)}
.portfolio-triangle{width:0;height:0;border-left:145px solid transparent;border-right:145px solid transparent;border-bottom:250px solid #bc6e53;left:36%;top:1%;transform:rotate(13deg)}
.portfolio-triangle:after{content:"";position:absolute;left:-111px;top:48px;border-left:111px solid transparent;border-right:111px solid transparent;border-bottom:192px solid #e7e9de}
.portfolio-hero-bottom{border-top:1px solid #bbc1b3;align-items:center;min-height:74px;color:#687062;font-size:9px}
.portfolio-hero-bottom a{color:#242520}
.portfolio-hero-bottom a:hover{color:#c14d35}
.portfolio-selected,.portfolio-future{padding:82px var(--pad) 110px}
.portfolio-selected>* ,.portfolio-future>*{max-width:1400px;margin-left:auto;margin-right:auto}
.portfolio-section-meta{border-bottom:1px solid #d0d3c8;padding-bottom:25px;color:#696d65;margin-bottom:74px}
.portfolio-section-lead{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:end;margin-bottom:70px}
.portfolio-section-lead h2,.portfolio-future-head h2{font-size:clamp(36px,4.6vw,68px);line-height:1.45;letter-spacing:-.06em;margin-top:20px}
.portfolio-section-lead>p,.portfolio-future-head>p{font-size:14px;line-height:2.1;max-width:500px}
.portfolio-project{display:grid;grid-template-columns:1.25fr 1fr;gap:7%;align-items:stretch;border-top:1px solid #c7cabd;border-bottom:1px solid #c7cabd;padding:45px 0}
.portfolio-project-visual{position:relative;min-height:490px;display:flex;flex-direction:column;justify-content:space-between;padding:28px;background:#efeee5;overflow:hidden;border:1px solid #dadacf}
.portfolio-project-visual:hover .portfolio-project-mark{transform:translateY(-8px) rotate(6deg)}
.portfolio-visual-overline,.portfolio-visual-bottom{position:relative;z-index:1;font-size:9px;letter-spacing:.13em;color:#707166}
.portfolio-visual-bottom{display:flex;justify-content:space-between;align-items:center}
.portfolio-visual-bottom span{font-size:24px;color:#c14d35}
.portfolio-project-mark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:3px;font-family:Arial,sans-serif;font-size:clamp(110px,14vw,220px);font-weight:200;letter-spacing:-.18em;color:#242520;transition:transform .45s ease}
.portfolio-project-mark i{font-style:normal;color:#b9c2aa;transform:rotate(-12deg)}
.portfolio-project-mark b{font-weight:200;color:#be775a;transform:rotate(13deg)}
.portfolio-project-info{padding:17px 0 8px;display:flex;flex-direction:column}
.portfolio-project-number{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.1em;color:#a74f39}
.portfolio-project-number span{color:#777970}
.portfolio-project-info h3{font-size:clamp(31px,3vw,44px);line-height:1.4;letter-spacing:-.06em;margin:55px 0 9px}
.portfolio-project-en{font-size:11px;letter-spacing:.17em;color:#888b7f}
.portfolio-project-description{font-size:14px;line-height:2.2;margin:35px 0 30px;max-width:480px}
.portfolio-project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.portfolio-project-tags span{font-size:9px;letter-spacing:.08em;border:1px solid #c7cabd;padding:9px 12px}
.portfolio-project-link{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #b7baae;padding-top:20px;margin-top:33px;font-size:13px}
.portfolio-project-link span{color:#c14d35;font-size:20px}
.portfolio-project-link:hover{color:#c14d35}
.portfolio-future{background:#282a24;color:#f3f3e9}
.portfolio-future .portfolio-section-meta{border-color:#555b50;color:#babfb1}
.portfolio-future-head{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:end;margin-bottom:76px}
.portfolio-future-head>p{color:#c7cabf}
.portfolio-fields{border-top:1px solid #555b50}
.portfolio-field{display:grid;grid-template-columns:75px 1fr 90px;align-items:center;gap:25px;padding:30px 0;border-bottom:1px solid #555b50}
.portfolio-field>span{font-size:10px;color:#ca8063}
.portfolio-field h3{font-size:clamp(23px,3vw,38px);font-weight:500;letter-spacing:-.04em}
.portfolio-field p{font-size:12px;color:#bdc3b6;margin-top:5px}
.portfolio-field b{font-family:Arial,sans-serif;font-size:64px;font-weight:200;color:#9da891;text-align:right;line-height:1}
.portfolio-field:last-child b{color:#c7795b}
.portfolio-coming{font-size:9px;letter-spacing:.17em;color:#aab1a2;margin-top:42px}
.portfolio-contact{padding:93px var(--pad) 100px;background:#c8775a;color:#242520}
.portfolio-contact>*{max-width:1400px;margin-left:auto;margin-right:auto}
.portfolio-contact>p{font-size:10px;letter-spacing:.18em}
.portfolio-contact h2{font-size:clamp(52px,7vw,104px);line-height:1.35;letter-spacing:-.07em;margin:35px auto 50px}
.portfolio-contact>a{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #684333;border-bottom:1px solid #684333;padding:23px 0;font-size:14px}
.portfolio-contact>a span{font-size:24px}
.portfolio-footer{background:#252720;color:#f4f3e9;padding:46px var(--pad);display:flex;justify-content:space-between;align-items:end;gap:25px}
.portfolio-footer>a:nth-child(2),.portfolio-footer>span{font-size:10px;letter-spacing:.07em}
.portfolio-footer>a:nth-child(2):hover{color:#e3a086}
@media(max-width:900px){.portfolio-hero-main{gap:0}.portfolio-hero-art{transform:scale(.75);transform-origin:center}.portfolio-project{grid-template-columns:1fr 1fr;gap:5%}.portfolio-project-visual{min-height:430px}.portfolio-project-info h3{margin-top:35px}.portfolio-project-description{font-size:12px}}
@media(max-width:600px){.portfolio-header{height:76px}.portfolio-wordmark{font-size:23px}.portfolio-wordmark span{font-size:6px}.portfolio-hero{min-height:auto;padding:20px var(--pad) 0}.portfolio-topline{font-size:8px}.portfolio-hero-main{display:flex;flex-direction:column;align-items:stretch;padding:62px 0 20px}.portfolio-kicker{font-size:8px}.portfolio-hero h1{font-size:clamp(54px,14vw,80px);margin:18px 0 22px}.portfolio-hero-copy{font-size:12px}.portfolio-hero-art{height:260px;width:290px;align-self:center;transform:scale(.65);transform-origin:center top;margin-top:38px;margin-bottom:-55px}.portfolio-hero-bottom{min-height:61px;font-size:8px}.portfolio-selected,.portfolio-future{padding:50px var(--pad) 70px}.portfolio-section-meta{font-size:8px;margin-bottom:38px;padding-bottom:20px}.portfolio-section-lead,.portfolio-future-head{grid-template-columns:1fr;gap:22px;margin-bottom:38px}.portfolio-section-lead h2,.portfolio-future-head h2{font-size:38px}.portfolio-section-lead>p,.portfolio-future-head>p{font-size:12px}.portfolio-project{grid-template-columns:1fr;gap:0;padding:22px 0 30px}.portfolio-project-visual{min-height:320px}.portfolio-project-mark{font-size:150px}.portfolio-project-info{padding-top:28px}.portfolio-project-number{font-size:8px}.portfolio-project-info h3{font-size:42px;margin:30px 0 8px}.portfolio-project-description{font-size:12px;margin:25px 0}.portfolio-field{grid-template-columns:30px 1fr 45px;gap:10px;padding:24px 0}.portfolio-field h3{font-size:25px}.portfolio-field p{font-size:10px}.portfolio-field b{font-size:38px}.portfolio-coming{font-size:8px}.portfolio-contact{padding:60px var(--pad)}.portfolio-contact h2{font-size:55px;margin:30px auto 38px}.portfolio-footer{padding:38px var(--pad);flex-wrap:wrap}.portfolio-footer>a:first-child{font-size:23px;width:100%}.portfolio-footer>a:nth-child(2),.portfolio-footer>span{font-size:8px}}
@media(prefers-reduced-motion:reduce){.portfolio-project-mark{transition:none}}

/* Published project imagery and credits. */
.portfolio-project+.portfolio-project{border-top:0}
.portfolio-project--reverse .portfolio-project-visual{grid-column:2;grid-row:1}
.portfolio-project--reverse .portfolio-project-info{grid-column:1;grid-row:1}
.portfolio-project-visual--photo{padding:0;background:#0b1724;border:0}
.portfolio-project-visual--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.portfolio-project-visual--photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(1,10,19,.72))}
.portfolio-photo-caption{position:absolute;left:28px;right:28px;bottom:25px;z-index:1;font-size:10px;letter-spacing:.16em;color:#fff}
.portfolio-project-visual--fish{background:radial-gradient(circle at 77% 18%,#214b53 0,#102f3a 35%,#071d27 80%);border:0;color:#e5ebdf;isolation:isolate}
.portfolio-project-visual--fish:before{content:"";position:absolute;inset:-20%;opacity:.28;background:repeating-radial-gradient(ellipse at 70% 55%,transparent 0 22px,#95b3b2 23px 24px,transparent 25px 48px);transform:rotate(-12deg);z-index:-1}
.portfolio-fish-kicker,.portfolio-fish-bottom{font-size:9px;letter-spacing:.17em;color:#d0ddd9}
.portfolio-fish-art{position:absolute;right:5%;top:-28%;font-family:Arial,sans-serif;font-size:480px;line-height:1;color:#8eb0af;opacity:.12;pointer-events:none}
.portfolio-fish-title{position:relative;align-self:flex-start;font-family:Arial,sans-serif;font-size:clamp(62px,7vw,112px);line-height:.95;letter-spacing:-.065em;font-weight:700}
.portfolio-project-credit{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-top:1px solid #b7baae;padding-top:19px;margin-top:30px;font-size:11px;line-height:1.8}
.portfolio-project-credit span{color:#767970}
.portfolio-project-credit strong{font-size:14px;font-weight:600;white-space:nowrap}
.portfolio-project-credit+.portfolio-project-link{margin-top:23px}
@media(max-width:600px){.portfolio-project--reverse .portfolio-project-visual,.portfolio-project--reverse .portfolio-project-info{grid-column:1;grid-row:auto}.portfolio-project-visual--photo{min-height:310px}.portfolio-photo-caption{left:18px;bottom:17px;font-size:8px}.portfolio-project-visual--fish{min-height:310px;padding:22px}.portfolio-fish-title{font-size:66px}.portfolio-fish-art{font-size:330px;top:-24%}.portfolio-project-credit{font-size:10px}.portfolio-project-credit strong{font-size:12px}}

/* Match the visible logo size in the header and footer at every breakpoint. */
.portfolio-page{--portfolio-logo-width:164px}
.portfolio-header{height:80px}
.portfolio-hero{min-height:min(790px,calc(100svh - 80px))}
.portfolio-footer{padding:28px var(--pad)}
.portfolio-wordmark,.portfolio-footer>a:first-child{display:block;width:var(--portfolio-logo-width);max-width:100%;line-height:0;flex:none}
.portfolio-wordmark img,.portfolio-footer>a:first-child img{display:block;width:100%;height:auto}
.portfolio-footer>a:first-child img{filter:brightness(0) invert(1)}
/* Portfolio images share the same landscape frame. */
.portfolio-project .portfolio-project-visual{min-height:0;aspect-ratio:16/9;align-self:start;padding:0;border:0}
.portfolio-project-visual--screenshot{background:#fff}
.portfolio-project-visual--screenshot img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:600px){.portfolio-page{--portfolio-logo-width:100px}.portfolio-header{height:64px}.portfolio-page .mobile-nav{top:64px}.portfolio-footer{padding:22px var(--pad);gap:14px}.portfolio-footer>a:first-child{width:100%;flex-basis:100%}.portfolio-footer>a:first-child img{width:var(--portfolio-logo-width)}.portfolio-project-info h3{font-size:30px}}
