.portfolio{padding-top:124px;padding-bottom:112px;border-top:1px solid var(--line)}
.portfolio-heading{display:grid;grid-template-columns:1fr .7fr;gap:8vw;align-items:end}
.portfolio-heading .eyebrow{margin:0 0 18px}
.portfolio-heading h2{font:500 clamp(42px,5.3vw,68px)/1.08 var(--display);letter-spacing:-.065em;margin:0}
.portfolio-heading h2 em{font:italic 400 1.02em var(--serif);letter-spacing:-.055em}
.portfolio-heading>p{max-width:440px;color:#656c61;font-size:14px;line-height:1.8;margin:0 0 4px}
.portfolio-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:32px 0 14px;margin-bottom:25px}
.portfolio-tools>p{font:9px var(--mono);letter-spacing:.06em;color:#898d80;margin:0;text-align:right}
.portfolio-filters{display:flex;gap:7px;flex-wrap:wrap}
.filter-button{display:flex;align-items:center;gap:11px;border:1px solid #d3d1c7;background:transparent;padding:9px 13px;color:#596257;font:11px var(--sans);cursor:pointer;min-height:40px}
.filter-button span{font:9px var(--mono);color:#8c917f}
.filter-button:hover,.filter-button:focus-visible{border-color:#7f8f72}
.filter-button.is-active{background:var(--ink);border-color:var(--ink);color:#f4f1e9}
.filter-button.is-active span{color:#dce2d4}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 24px}
.portfolio-card{min-width:0}
.portfolio-thumb{height:260px;position:relative;overflow:hidden;padding:22px 24px;isolation:isolate}
.mini-top,.craft-header,.food-nav,.consult-bar,.build-nav,.fashion-head,.school-top,.foodshop-head,.event-nav,.industry-head{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;font:8px var(--mono);letter-spacing:.06em}
.mini-top{color:#536252}.thumb-architecture{background:#d9dcd2;color:#26332c}.mini-top span:last-child{font-size:7px}.arch-lines{position:absolute;right:4%;top:11%;width:48%;height:84%;border-left:1px solid #8d9787;border-right:1px solid #8d9787;transform:skewY(-19deg)}.arch-lines:before,.arch-lines:after{content:"";position:absolute;top:39%;left:-15%;right:-14%;border-top:1px solid #8d9787;transform:rotate(-31deg)}.arch-lines:after{top:61%;transform:rotate(31deg)}.arch-lines i{position:absolute;top:0;bottom:0;left:32%;border-left:1px solid #aab1a3}.arch-lines i:nth-child(2){left:67%}.arch-lines i:nth-child(3){left:50%;transform:rotate(38deg)}.thumb-architecture>b{position:absolute;z-index:1;left:9%;top:35%;font:500 clamp(23px,3.2vw,39px)/1.02 var(--display);letter-spacing:-.06em}.thumb-architecture>b em{font:italic 400 var(--serif)}.thumb-architecture>small{position:absolute;left:9%;bottom:13%;font:7px var(--mono);letter-spacing:.08em}.mini-circle{position:absolute;right:8%;bottom:10%;font:9px var(--mono);color:#66715e}
.thumb-craft{background:#eadfc9;color:#394135}.craft-header{font:600 14px var(--display);letter-spacing:.04em}.craft-header i,.foodshop-head i{font:italic 15px var(--serif)}.craft-header span{font:7px var(--mono);font-weight:400}.craft-jar{position:absolute;right:15%;top:23%;width:114px;height:151px;border-radius:29px 29px 25px 25px;background:linear-gradient(90deg,#606d42,#9b9c55 33%,#727a43 75%,#525e3d);box-shadow:inset 12px 0 #ffffff19,12px 13px 18px #33321e27;transform:rotate(7deg)}.craft-jar:before{content:"";position:absolute;left:23px;right:23px;top:-18px;height:23px;border-radius:7px 7px 2px 2px;background:#9d8d6b}.craft-jar span{position:absolute;inset:47px 17px 27px;background:#e7dfc6;display:grid;place-items:center;text-align:center;font:8px/1.5 var(--mono);letter-spacing:.1em;color:#56543c}.craft-copy{position:absolute;left:9%;top:29%;display:grid;gap:8px}.craft-copy small,.craft-copy span{font:7px var(--mono);letter-spacing:.04em}.craft-copy b{font:500 27px/.98 var(--display);letter-spacing:-.05em}.craft-copy b em{font:italic 400 var(--serif)}.craft-copy span{margin-top:8px}.craft-sticker{position:absolute;right:7%;bottom:10%;background:#e2a873;border-radius:50%;width:49px;height:49px;display:grid;place-content:center;text-align:center;font:7px/1.3 var(--mono);transform:rotate(10deg)}
.thumb-food{background:#d6d9c8;color:#29352e}.food-nav{font-size:8px}.food-nav span{font-size:7px}.food-plate{position:absolute;width:190px;height:190px;border-radius:50%;right:7%;top:28%;background:#f0eadb;box-shadow:0 5px 17px #323b2e18;display:grid;place-items:center}.food-plate:before{content:"";position:absolute;inset:23px;border-radius:50%;border:1px solid #c5c3b2}.food-plate i{position:absolute;width:76px;height:43px;border-radius:70% 20% 55% 30%;background:#a8a168;transform:rotate(-34deg)}.food-plate i:after{content:"";position:absolute;left:18px;top:18px;width:45px;height:10px;border-radius:50%;background:#cf8965;transform:rotate(26deg)}.food-plate b{position:absolute;bottom:36px;font:7px var(--mono);letter-spacing:.08em;text-align:center}.food-title{position:absolute;left:9%;top:36%;z-index:2;display:grid;gap:9px}.food-title small,.food-title span{font:7px var(--mono);letter-spacing:.05em}.food-title strong{font:500 28px/.98 var(--display);letter-spacing:-.06em}.food-title strong em{font:italic 400 var(--serif)}
.thumb-consult{background:#e7e4dc;color:#1c2923}.consult-bar{border-bottom:1px solid #c7c6bd;padding-bottom:9px;font:8px var(--mono)}.consult-bar b{font:700 11px var(--display);margin-left:-50px}.consult-bar span{font-size:7px;color:#6b7168}.consult-body{display:flex;justify-content:space-between;align-items:end;padding:43px 6% 21px}.consult-body>div:first-child{display:grid;gap:7px}.consult-body small{font:7px var(--mono);color:#70776c}.consult-body b{font:500 32px/.97 var(--display);letter-spacing:-.06em}.consult-body b em{font:italic 400 var(--serif)}.consult-body>div>span{font:7px var(--mono);margin-top:7px}.consult-chart{height:89px;width:38%;display:flex;align-items:end;gap:7px;border-bottom:1px solid #b4b7ab;padding:0 0 4px 8px;transform:skewY(-8deg)}.consult-chart i{flex:1;background:#aab49c}.consult-chart i:nth-child(2){height:38%}.consult-chart i:nth-child(1){height:22%}.consult-chart i:nth-child(3){height:60%}.consult-chart i:nth-child(4){height:47%}.consult-chart i:nth-child(5){height:82%;background:#788b70}.consult-chart i:nth-child(6){height:100%;background:#e2a873}.consult-foot{border-top:1px solid #c7c6bd;padding-top:9px;margin:0 6%;font:7px var(--mono);color:#777d71}
.thumb-build{background:#dfe2da;color:#29332e}.build-nav{font-size:8px}.build-nav span{font-size:7px}.build-shape{position:absolute;right:12%;top:20%;width:37%;height:65%;background:linear-gradient(135deg,#9ca593 0 24%,#c6c9bd 24% 27%,#e7e5dd 27% 67%,#9ca593 67%);clip-path:polygon(10% 8%,79% 0,100% 21%,92% 91%,2% 100%)}.build-shape:after{content:"";position:absolute;left:38%;top:15%;height:70%;width:28%;background:#a5aa9d;clip-path:polygon(0 0,100% 9%,93% 100%,8% 91%)}.build-shape span{position:absolute;right:12%;top:14%;font:10px var(--mono);z-index:2}.build-text{position:absolute;left:8%;top:34%;display:grid;gap:7px;z-index:2}.build-text small,.build-text span{font:7px var(--mono)}.build-text b{font:500 27px/.98 var(--display);letter-spacing:-.05em}.build-text b em{font:italic 400 var(--serif)}.build-grid{position:absolute;left:0;bottom:0;width:100%;height:22%;background:repeating-linear-gradient(90deg,transparent 0 29px,#abb0a4 30px),repeating-linear-gradient(0deg,transparent 0 21px,#abb0a4 22px);opacity:.6}
.thumb-fashion{background:#e8dcd6;color:#372e2b}.fashion-head{font:700 11px var(--display)}.fashion-head span{font:7px var(--mono);font-weight:400}.fashion-image{position:absolute;left:8%;top:23%;width:52%;height:62%;background:#c5a394;overflow:hidden}.fashion-swatch{position:absolute;width:45%;height:140%;left:26%;top:-15%;background:#34483d;border-radius:55% 46% 9% 13%;transform:rotate(24deg)}.fashion-swatch:before{content:"";position:absolute;left:20%;top:8%;width:50%;height:38%;border-left:3px solid #e4d8c6;border-right:3px solid #e4d8c6;transform:skewY(-10deg)}.fashion-product{position:absolute;left:8%;top:11%;font:7px/1.5 var(--mono);color:#f1e9dd}.fashion-product em{font:italic 11px var(--serif)}.fashion-badge{position:absolute;bottom:9%;right:8%;font:7px/1.4 var(--mono);background:#e2a873;border-radius:50%;width:44px;height:44px;display:grid;place-content:center;text-align:center}.fashion-bottom{position:absolute;right:6%;top:36%;display:grid;gap:12px}.fashion-bottom b{font:500 20px/.98 var(--display);letter-spacing:-.05em}.fashion-bottom b em{font:italic 400 var(--serif)}.fashion-bottom span{font:6px var(--mono)}
.thumb-school{background:#e6d8af;color:#29352e}.school-top{font:700 11px var(--display)}.school-top i{font:italic 14px var(--serif)}.school-top span{font:7px var(--mono);font-weight:400}.school-main{position:absolute;left:9%;top:29%;display:grid;gap:7px;z-index:1}.school-main small,.school-main span{font:7px var(--mono)}.school-main b{font:500 27px/.98 var(--display);letter-spacing:-.055em}.school-main b em{font:italic 400 var(--serif)}.school-spark{position:absolute;left:280px;top:-30px;color:#ba8159;font-size:42px}.school-stamp{position:absolute;right:8%;bottom:14%;border:1px solid #899078;border-radius:50%;width:73px;height:73px;display:grid;place-content:center;text-align:center;transform:rotate(9deg);font:7px/1.4 var(--mono)}
.thumb-foodshop{background:#d8dfd0;color:#29362d}.foodshop-head{font:700 11px var(--display)}.foodshop-head span{font:7px var(--mono);font-weight:400}.foodshop-still{position:absolute;right:9%;top:25%;width:36%;height:62%;background:linear-gradient(140deg,#b4a783,#c7c29e 42%,#778568);clip-path:polygon(50% 0,100% 24%,89% 100%,5% 89%,0 37%);display:grid;place-items:center;text-align:center;box-shadow:inset 8px 0 #ffffff2a}.foodshop-still span{background:#e9e2cc;padding:15px 13px;font:8px/1.5 var(--mono);letter-spacing:.07em}.foodshop-still small{font-size:6px}.foodshop-copy{position:absolute;left:8%;top:37%;display:grid;gap:7px;z-index:1}.foodshop-copy small,.foodshop-copy span{font:7px var(--mono)}.foodshop-copy b{font:500 26px/.98 var(--display);letter-spacing:-.055em}.foodshop-copy b em{font:italic 400 var(--serif)}.foodshop-dot{position:absolute;right:7%;bottom:8%;color:#f5f0e3;background:#62714e;width:44px;height:44px;display:grid;place-content:center;text-align:center;border-radius:50%;font:6px/1.3 var(--mono)}
.thumb-event{background:#24332e;color:#ece8dc}.event-nav{font:700 10px var(--display)}.event-nav i{font:italic 13px var(--serif)}.event-nav span{font:7px var(--mono);font-weight:400}.event-date{position:absolute;right:9%;top:27%;font:19px/.95 var(--display);color:#e2a873;transform:rotate(8deg)}.event-date b{font:9px var(--mono)}.event-copy{position:absolute;left:9%;top:38%;display:grid;gap:8px}.event-copy small,.event-copy span{font:7px var(--mono);color:#c4c9b8}.event-copy b{font:500 31px/.95 var(--display);letter-spacing:-.06em}.event-copy b em{font:italic 400 var(--serif);color:#e2a873}.event-tickets{position:absolute;right:8%;bottom:14%;border:1px solid #727d70;border-radius:50%;width:76px;height:76px;display:grid;place-content:center;text-align:center;font:7px/1.5 var(--mono);transform:rotate(-11deg)}
.thumb-industry{background:#dce0d8;color:#27332c}.industry-head{font:700 10px var(--display)}.industry-head span{font:7px var(--mono);font-weight:400}.industry-main{position:absolute;left:8%;top:34%;display:grid;gap:8px;z-index:1}.industry-main small,.industry-main span{font:7px var(--mono)}.industry-main b{font:500 30px/.97 var(--display);letter-spacing:-.06em}.industry-main b em{font:italic 400 var(--serif)}.industry-spec{position:absolute;right:8%;top:26%;width:32%;height:61%;border:1px solid #98a398;padding:10px;display:flex;flex-direction:column;justify-content:space-around;background:#e9ebe4}.industry-spec span{font:7px var(--mono)}.industry-spec i{height:1px;background:#909d8d;width:100%}.industry-spec i:nth-of-type(2){width:73%}.industry-spec i:nth-of-type(3){width:88%}.industry-spec b{position:absolute;bottom:9px;right:8px;font:7px/1.4 var(--mono);color:#73806f}
.portfolio-label{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:14px 1px 9px;color:#838a7d;font:9px var(--mono);letter-spacing:.05em}
.portfolio-label span:last-child{text-align:right}
.portfolio-card h3{font:600 20px var(--display);letter-spacing:-.04em;margin:12px 0 4px}
.portfolio-card>p{color:#666d62;font-size:12px;line-height:1.7;max-width:510px;margin:0 0 11px}
.portfolio-card details{border-top:1px solid #dedbd0;padding:9px 0 0}
.portfolio-card summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;font:600 11px var(--sans);color:#52634f;min-height:33px}
.portfolio-card summary::-webkit-details-marker{display:none}
.portfolio-card summary:after{content:"＋";font:16px var(--sans);color:#8b947f}
.portfolio-card details[open] summary:after{content:"−"}
.portfolio-card details>p{color:#6e746a;font-size:11px;line-height:1.7;margin:5px 0 0;max-width:520px}
.portfolio-footnote{margin:35px 0 0;padding:13px 15px;border-left:2px solid var(--orange);background:#eeece4;color:#72786e;font-size:10px;line-height:1.7}
@media(max-width:850px){.portfolio{padding-top:90px;padding-bottom:85px}.portfolio-heading{gap:4vw}.portfolio-grid{gap:35px 18px}.portfolio-thumb{height:230px;padding:18px}.thumb-architecture>b{font-size:30px}.craft-jar{right:11%;width:97px;height:139px}.craft-copy b{font-size:24px}.food-plate{width:164px;height:164px}.food-title strong{font-size:24px}.consult-body{padding-top:36px}.consult-body b{font-size:27px}.fashion-bottom b{font-size:17px}.school-spark{left:225px}}
@media(max-width:650px){.portfolio{padding-top:78px;padding-bottom:74px}.portfolio-heading{grid-template-columns:1fr;gap:16px}.portfolio-heading h2{font-size:46px}.portfolio-heading>p{font-size:13px}.portfolio-tools{align-items:flex-start;flex-direction:column;padding-top:23px;gap:12px}.portfolio-filters{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:7px}.filter-button{justify-content:space-between;padding:8px 10px;font-size:10px;min-height:44px}.portfolio-tools>p{text-align:left;font-size:8px}.portfolio-grid{grid-template-columns:minmax(0,1fr);gap:32px}.portfolio-thumb{height:clamp(205px,62vw,270px);padding:17px}.thumb-architecture>b{font-size:clamp(27px,8vw,39px)}.craft-copy b{font-size:clamp(23px,6.5vw,31px)}.craft-jar{right:15%;width:100px;height:144px}.food-plate{width:min(46vw,180px);height:min(46vw,180px);right:6%}.food-title strong{font-size:clamp(23px,6.5vw,30px)}.consult-body{padding:37px 3% 19px}.consult-body b{font-size:clamp(25px,7vw,34px)}.build-text b{font-size:clamp(23px,6.5vw,30px)}.fashion-image{width:50%;left:7%}.fashion-bottom{right:4%}.fashion-bottom b{font-size:clamp(16px,4.7vw,21px)}.school-main b{font-size:clamp(23px,6.5vw,30px)}.school-spark{left:54vw}.foodshop-copy b{font-size:clamp(23px,6.2vw,30px)}.event-copy b{font-size:clamp(28px,7.4vw,36px)}.industry-main b{font-size:clamp(26px,7vw,34px)}.portfolio-label{font-size:8px}.portfolio-card h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){.filter-button{transition:none}}
.demo-link{margin:15px 0 0}.demo-link a{display:inline-flex;align-items:center;gap:24px;border:1px solid #17241f;padding:10px 13px;color:#17241f;font-size:11px;font-weight:600;transition:background .18s,color .18s}.demo-link a:hover{background:#17241f;color:#f4f1e9}.project-preview-link{display:block}.project-preview-cta{position:absolute;right:14px;bottom:14px;display:flex;align-items:center;gap:24px;background:#17241f;color:#f4f1e9;padding:10px 12px;font:10px var(--sans);opacity:0;transform:translateY(4px);transition:opacity .18s,transform .18s}.project-preview-link:hover .project-preview-cta,.project-preview-link:focus-visible .project-preview-cta{opacity:1;transform:translateY(0)}.portfolio-card h3 a:hover{text-decoration:underline;text-decoration-color:#c86d3c;text-underline-offset:4px}@media(max-width:650px){.project-preview-cta{opacity:1;transform:none;font-size:9px;padding:8px 9px;right:10px;bottom:10px}}
.project-photo{height:290px;display:block;position:relative;overflow:hidden;background:#dce2d4}.project-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}.project-photo:hover img{transform:scale(1.035)}.project-photo span{position:absolute;left:16px;bottom:16px;background:#f4f1e9;color:#17241f;padding:10px 12px;font:10px var(--sans);letter-spacing:.06em;display:flex;gap:20px;align-items:center}.project-photo span b{font-size:16px}.project-photo:focus-visible{outline:3px solid #c86d3c;outline-offset:3px}.portfolio-card h3{font-size:24px}.portfolio-grid{gap:56px 26px}@media(max-width:650px){.project-photo{height:230px}.portfolio-grid{gap:38px}}
.project-photo iframe{position:absolute;top:0;left:0;width:200%;height:200%;border:0;transform:scale(.5);transform-origin:0 0;pointer-events:none;background:#f4f1e9}.project-photo span{z-index:2}.portfolio-card details>p{font-size:12px}.portfolio-card>p{font-size:13px}
