/* Selected work: actual project previews and labelled workflow illustrations. */
.portfolio-details .sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.portfolio-hero {background:#e7e8df;padding:92px 0 78px;border-bottom:1px solid #18372b20;overflow:hidden}
.portfolio-hero-grid {display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:7%}
.portfolio-hero .eyebrow {color:#55644d}
.portfolio-hero h1 {font:400 clamp(46px,5.5vw,76px)/1.05 Georgia,serif;letter-spacing:-.045em;color:#18372b;margin:24px 0}
.portfolio-hero h1 em {font-weight:400;color:#637258}
.portfolio-hero .lede {max-width:560px;font-size:16px;line-height:1.8;color:#4f5a50}
.portfolio-hero .button-row {margin-top:28px}
.portfolio-hero-art {display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center;transform:rotate(-3deg);padding:20px 10px}
.portfolio-hero-art img {display:block;width:100%;height:auto;box-shadow:0 20px 45px #1a322522;border:6px solid #fff9}
.portfolio-hero-art img+img {transform:translateY(25px) rotate(6deg)}
.portfolio-hero-art figcaption {grid-column:1/-1;transform:rotate(3deg);font-size:12px;color:#586253;text-align:center;padding-top:16px}
.portfolio-section {padding:80px 0 96px;background:#f7f5ef}
.portfolio-heading {display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px}
.portfolio-heading h2,.more-work-heading h3 {font:400 clamp(30px,3vw,44px)/1.15 Georgia,serif;letter-spacing:-.035em;color:#18372b;margin:10px 0 0;text-transform:none}
.portfolio-heading p {font-size:13px;color:#566355;max-width:310px;line-height:1.7}
.portfolio-controls {display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:30px}
.portfolio-filters {display:flex;gap:8px;flex-wrap:wrap}
.portfolio-filters[hidden] {display:none}
.portfolio-filters button {font:500 12px/1.5 Montserrat,sans-serif;padding:10px 15px;border:1px solid #23453235;border-radius:999px;background:transparent;color:#294333;cursor:pointer;min-height:42px;transition:background .2s,color .2s}
.portfolio-filters button[aria-pressed=true],.portfolio-filters button:hover {background:#18372b;color:#fff;border-color:#18372b}
.portfolio-count {font-size:12px;color:#5b655c;margin:0}
.portfolio-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:start}
.portfolio-card {min-width:0;background:#fffdf8;border:1px solid #223e291c;border-radius:6px;overflow:hidden;scroll-margin-top:110px}
.portfolio-card[hidden] {display:none}
.portfolio-card:target {outline:2px solid #a18545;outline-offset:5px}
.portfolio-figure {margin:0}
.portfolio-preview {display:block;position:relative;aspect-ratio:1.62;background:#dee4dc;padding:25px;overflow:hidden}
.portfolio-preview img {display:block;width:100%;height:100%;object-fit:cover;object-position:top;border-radius:3px;box-shadow:0 12px 25px #1a292829;transition:transform .6s ease}
.portfolio-preview-label {position:absolute;right:32px;bottom:32px;background:#18372b;color:#fff;padding:8px 11px;border-radius:3px;font-size:11px;line-height:1.4}
.portfolio-card--tablera .portfolio-preview {background:#dcd9cf}
.portfolio-card--hca .portfolio-preview {background:#dce4e5}
.portfolio-card--affini .portfolio-preview {background:#dce0e2}
.portfolio-card--meridian .portfolio-preview {background:#e0e4ed}
.portfolio-figure figcaption {font-size:11px;line-height:1.6;padding:11px 26px;color:#647063;border-bottom:1px solid #233d2915;background:#fffdf8}
.portfolio-content {padding:28px}
.portfolio-meta {display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:16px}
.portfolio-sector {color:#5f6f5d;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.7}
.portfolio-status {flex-shrink:0;padding:5px 8px;background:#f0eadd;color:#63542e;border-radius:3px;font-size:10px;line-height:1.5}
.portfolio-status--live {background:#e4eee2;color:#2d5a36}
.portfolio-content h3 {font:400 clamp(27px,2.7vw,36px)/1.16 Georgia,serif;letter-spacing:-.035em;text-transform:none;color:#19372b;margin:0 0 14px}
.portfolio-description {font-size:14px;line-height:1.8;color:#53604f;margin:0 0 20px}
.portfolio-tags {display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px}
.portfolio-tags span {font-size:10px;line-height:1.5;padding:5px 8px;border:1px solid #233d2925;border-radius:3px;color:#596454}
.portfolio-actions {display:flex;flex-wrap:wrap;gap:14px;margin-top:20px}
.portfolio-actions a {font-size:12px;font-weight:600;color:#254f38;text-decoration:underline;text-underline-offset:5px;line-height:1.7}
.portfolio-details {border-top:1px solid #233d2922;padding-top:16px}
.portfolio-details summary {display:flex;justify-content:space-between;gap:15px;cursor:pointer;list-style:none;font-size:12px;font-weight:600;line-height:1.6;color:#254f38;padding:3px 0}
.portfolio-details summary::-webkit-details-marker {display:none}
.portfolio-details summary::after {content:'+';font-size:18px;line-height:1}
.portfolio-details[open] summary::after {content:'−'}
.portfolio-details p {font-size:13px;line-height:1.85;color:#53604f;margin:15px 0 0}
.portfolio-details ul {padding-left:18px;margin:15px 0;color:#53604f;font-size:13px;line-height:1.8}
.portfolio-details li+li {margin-top:7px}
.portfolio-art {display:flex;gap:20px;align-items:center;justify-content:center;aspect-ratio:1.62;padding:22px;background:#f2e0df;overflow:hidden}
.portfolio-art a {width:42%;display:block;transform:rotate(-5deg);transition:transform .5s}
.portfolio-art a+a {transform:rotate(5deg) translateY(8px)}
.portfolio-art img {display:block;width:100%;height:auto;box-shadow:0 8px 25px #5a31362a}
.portfolio-diagram {aspect-ratio:1.62;padding:30px;display:flex;flex-direction:column;justify-content:center;gap:22px;background:#e7e9df;color:#1e372e}
.portfolio-diagram-title {font:400 43px/1 Georgia,serif;letter-spacing:-.04em}
.portfolio-diagram-sub {font-size:11px;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;color:#647161}
.portfolio-flow {list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;counter-reset:flow}
.portfolio-flow li {padding:14px;background:#fffaf0;border:1px solid #284d3229;font-size:12px;line-height:1.5;counter-increment:flow;border-radius:3px}
.portfolio-flow li::before {content:'0' counter(flow);display:block;font-size:10px;margin-bottom:7px;color:#847348}
.portfolio-card--caffini .portfolio-diagram {background:#e3dcd1}
.portfolio-card--caffini .portfolio-diagram-title {color:#61422d}
.portfolio-diagram-footer {font-size:11px;color:#5a6354;line-height:1.6}
.more-work {margin-top:48px;border-top:1px solid #233d292b;padding-top:35px}
.more-work-heading {display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:24px}
.more-work-heading p {font-size:13px;line-height:1.8;max-width:340px;color:#54604e;margin:0}
.more-work-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.more-work-card {display:block;color:#18372b;background:#fffdf8;border:1px solid #223e2920;border-radius:5px;overflow:hidden;text-decoration:none}
.more-work-image {aspect-ratio:1.55;padding:18px;background:#d9ddd3;overflow:hidden;display:block}
.more-work-image img {display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .6s;box-shadow:0 5px 20px #17312222}
.more-work-card--bezhy .more-work-image {background:#f0dddf;display:flex;justify-content:center;padding:14px}
.more-work-card--bezhy .more-work-image img {width:auto;height:100%;object-fit:contain;transform:rotate(-5deg)}
.more-work-caption {display:block;padding:20px}
.more-work-caption strong {font:400 27px/1.2 Georgia,serif;letter-spacing:-.035em;display:block;margin-bottom:8px}
.more-work-caption small {font-size:11px;line-height:1.7;color:#61705b;display:block}
.more-work-all {display:inline-flex;margin-top:26px;color:#234f36;font-size:13px;line-height:1.7;font-weight:600;text-decoration:underline;text-underline-offset:6px;min-height:42px;align-items:center}
.portfolio-filters button:focus-visible,.portfolio-preview:focus-visible,.portfolio-details summary:focus-visible,.more-work a:focus-visible,.portfolio-art a:focus-visible {outline:3px solid #9d7e36;outline-offset:4px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.portfolio-preview:hover img,.more-work-card:hover img{transform:translateY(-4px)}.portfolio-art a:hover{transform:rotate(0deg) translateY(-5px)}}
@media(max-width:850px){.portfolio-hero-grid{gap:35px;grid-template-columns:1.15fr .85fr}.portfolio-meta{display:block}.portfolio-status{display:inline-block;margin-top:8px}.portfolio-diagram{padding:22px;gap:16px}.portfolio-flow li{padding:11px}.portfolio-diagram-title{font-size:34px}.portfolio-content{padding:22px}.portfolio-preview{padding:18px}.portfolio-preview-label{right:23px;bottom:23px}}
@media(max-width:680px){.portfolio-hero{padding:62px 0 45px}.portfolio-hero-grid{grid-template-columns:1fr;gap:24px}.portfolio-hero h1{font-size:clamp(42px,10vw,62px)}.portfolio-hero-art{max-width:420px;margin:0 auto;padding:15px}.portfolio-hero-art img{border-width:4px}.portfolio-section{padding:55px 0 65px}.portfolio-grid{grid-template-columns:1fr;gap:25px}.portfolio-heading,.more-work-heading{display:block}.portfolio-heading p,.more-work-heading p{margin-top:18px;max-width:none}.portfolio-controls{gap:15px}.portfolio-filters{gap:7px}.portfolio-filters button{font-size:11px;padding:9px 12px}.portfolio-preview-label{font-size:10px;padding:6px 8px}.portfolio-meta{display:flex}.portfolio-status{margin:0}.portfolio-art{gap:14px;padding:18px}.portfolio-diagram{aspect-ratio:auto;min-height:290px;padding:25px}.portfolio-figure figcaption{padding:10px 22px}.more-work-grid{grid-template-columns:1fr}.more-work-card{display:grid;grid-template-columns:125px 1fr;align-items:stretch}.more-work-image{height:100%;aspect-ratio:auto;padding:12px;min-height:125px}.more-work-caption{padding:22px 18px;align-self:center}.more-work-caption strong{font-size:25px}.more-work-card--bezhy .more-work-image img{max-height:130px;width:auto;height:100%}}
@media(prefers-reduced-motion:reduce){.portfolio-hero-art,.portfolio-art a,.portfolio-preview img,.more-work img{animation:none!important;transition:none!important}.portfolio-filters button{transition:none}}
