/* Portfolio: product-led compositions on the same ivory ground as Home. */
.portfolio-editorial .collection-opening{
 min-height:min(850px,91svh);max-width:1800px;margin:auto;padding:145px 6% 62px;
 grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:4%;align-items:center;overflow:visible;
}
.portfolio-editorial .collection-opening-copy{position:relative;z-index:1;max-width:530px}
.portfolio-editorial .collection-opening h1{font-size:clamp(86px,8.6vw,148px);line-height:.88;letter-spacing:-.05em;margin:0 0 32px;max-width:none}
.portfolio-editorial .collection-intro{font-size:clamp(28px,2.35vw,38px);max-width:23ch;line-height:1.17;margin:0 0 24px}
.portfolio-editorial .collection-context{font-size:16px;line-height:1.75;max-width:48ch;margin:0}
.portfolio-editorial .collection-object{width:112%;max-width:1020px;margin:0 -6%;align-self:center;justify-self:center;position:relative}
.portfolio-editorial .collection-object img{width:100%;height:auto;display:block;filter:none}
.portfolio-editorial .collection-explore{display:inline-flex;gap:38px;align-items:center;margin-top:30px;padding:12px 0;border-bottom:1px solid #8190a3;font:400 14px/1.4 var(--font-text);min-height:46px;color:var(--ink)}
.portfolio-editorial .collection-explore svg{transition:transform .2s ease}
.portfolio-editorial .collection-explore:hover svg{transform:translateY(3px)}
.portfolio-editorial #work{scroll-margin-top:110px}
.portfolio-editorial .art-orbit{display:none}
.portfolio-editorial .continuity-opening:before{display:none}
.portfolio-editorial .collection-library{max-width:1720px;padding:0 7% 60px;margin:auto}
.portfolio-editorial .collection-toolbar{padding:20px 0 38px;margin:0;border:0;gap:24px;align-items:center}
.portfolio-editorial .category-filters{gap:8px 26px}
.portfolio-editorial .category-filters button{font-size:13px;min-height:44px;padding:10px 0;color:var(--text-secondary);border-bottom:1px solid transparent}
.portfolio-editorial .category-filters button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink)}
.portfolio-editorial #project-count{font-size:12px;white-space:nowrap;color:var(--text-secondary)}
.portfolio-editorial .work-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:76px 6%;align-items:start}
.portfolio-editorial .collection-chapter{display:block;border-top:1px solid var(--line);padding-top:32px;margin:16px 0 -34px}
.portfolio-editorial .collection-chapter:first-child{border-top:0;padding-top:0;margin-top:0}
.portfolio-editorial .collection-chapter h2{font:300 clamp(36px,3.2vw,48px)/1.1 var(--font-display);letter-spacing:-.025em;margin:0 0 10px;color:var(--ink)}
.portfolio-editorial .collection-chapter p{font:400 14px/1.6 var(--font-text);color:var(--text-secondary);max-width:65ch}
.portfolio-editorial .project-feature,.portfolio-editorial .project-feature+.project-feature{
 grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:7%;margin:0;padding:12px 0 58px;align-items:center;border-bottom:1px solid var(--line);
}
.portfolio-editorial .deedl-work.project-feature{grid-template-columns:minmax(0,1.17fr) minmax(0,.83fr)}
.portfolio-editorial .project-feature .work-copy{grid-column:1;grid-row:1}
.portfolio-editorial .project-feature .feature-showcase{grid-column:2;grid-row:1}
.portfolio-editorial .deedl-work.project-feature .work-copy{grid-column:2}
.portfolio-editorial .deedl-work.project-feature .feature-showcase{grid-column:1}
.portfolio-editorial .project-feature h2{font-size:clamp(62px,6.2vw,94px);margin:0 0 23px}
.portfolio-editorial :is(.project-feature,.project-case) .work-identity{display:block;padding:0 0 20px}
.portfolio-editorial :is(.project-feature,.project-case) .work-identity>span{display:block;text-align:left;font-size:12px;line-height:1.5;color:var(--text-secondary)}
.portfolio-editorial :is(.project-feature,.project-case) .work-identity>span+span{margin-top:6px}
.portfolio-editorial :is(.project-feature,.project-case) .work-copy>p{font-size:17px;line-height:1.75;max-width:43ch;margin:0 0 25px}
.portfolio-editorial .work-highlights{margin:0 0 23px;padding:0;display:grid;gap:15px;max-width:46ch}
.portfolio-editorial .work-highlights>div{display:grid;grid-template-columns:106px minmax(0,1fr);gap:14px}
.portfolio-editorial .work-highlights dt{font-size:12px;line-height:1.6;color:var(--ink);font-weight:500}
.portfolio-editorial .work-highlights dd{margin:0;font-size:13px;line-height:1.6;color:var(--text-secondary)}
.portfolio-editorial :is(.project-feature,.project-case) .work-bottom{display:block;border:0;padding:0}
.portfolio-editorial :is(.project-feature,.project-case) .work-detail-link{display:inline-flex;align-items:center;min-height:48px;width:fit-content;border-bottom:1px solid #8291a4;padding:12px 0 8px;font-size:14px;gap:30px}
.portfolio-editorial :is(.project-feature,.project-case) .work-bottom>span{display:block;max-width:none;margin:0 0 7px;font-size:12px;line-height:1.65;color:var(--text-secondary)}
.portfolio-editorial .feature-image{aspect-ratio:1.18;overflow:visible;display:block;perspective:1200px;isolation:isolate;border-radius:0}
.portfolio-editorial .feature-image .feature-main{position:absolute;left:0;top:10%;width:96%;height:auto;max-width:none;max-height:none;object-fit:contain;filter:drop-shadow(0 22px 18px #17253612);transform-origin:50% 70%}
.portfolio-editorial .feature-phone{display:block;position:absolute;right:-1%;bottom:5%;width:23%;aspect-ratio:.49;z-index:2;filter:drop-shadow(0 12px 13px #17253622)}
.portfolio-editorial .feature-phone img{width:100%;height:100%;object-fit:contain;max-width:none;max-height:none;box-shadow:none;border:0}
.portfolio-editorial .feature-phone--ownside{overflow:hidden;border-radius:18% / 8.5%;background:#151515}
.portfolio-editorial .feature-phone--ownside img{position:absolute;width:143%;height:107%;left:-21.5%;top:-3.5%;object-fit:fill}
.portfolio-editorial .feature-image[data-view-type=mobile] .feature-main{top:1%;left:20%;width:60%;height:96%;object-fit:contain;filter:none}
.portfolio-editorial .feature-image[data-view-type=mobile] .feature-phone{visibility:hidden}
.portfolio-editorial .feature-image[data-view-type=website] .feature-main{top:12%;left:0;width:95%;height:auto;border:1px solid #18202a14;border-radius:4px}
.portfolio-editorial .feature-controls{margin-top:0;gap:26px}
.portfolio-editorial .feature-controls button{font-size:13px;min-height:46px;padding:11px 0}
.portfolio-editorial .project-visual-note{color:#68717b;font:400 11px/1.65 var(--font-text);max-width:65ch;margin:18px auto 0;text-align:center}
/* Three AI stories, each with a composition matching the kind of work. */
.portfolio-editorial .project-case{display:grid;grid-column:1/-1;grid-template-columns:minmax(0,1.24fr) minmax(0,.76fr);gap:7%;align-items:center;padding:24px 0 48px}
.portfolio-editorial .project-case .case-showcase{min-width:0;grid-column:1;grid-row:1}
.portfolio-editorial .project-case .work-copy{grid-column:2;grid-row:1}
.portfolio-editorial .project-case h2{font-size:clamp(40px,4vw,59px);margin-bottom:22px}
.portfolio-editorial .case-composition{display:block;position:relative;aspect-ratio:1.17;perspective:1400px;isolation:isolate}
.portfolio-editorial .case-composition img{display:block;position:absolute;object-fit:contain;border:1px solid #18202a12;box-shadow:0 18px 30px -19px #17253655;border-radius:4px}
.portfolio-editorial .case-main{left:0;top:2%;width:91%;height:auto;z-index:1}
.portfolio-editorial .case-detail{right:-1%;bottom:0;width:45%;height:auto;z-index:2}
.portfolio-editorial .project-case .project-visual-note{text-align:left;margin-left:0}
.portfolio-editorial .brokerage-work.project-case{grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr)}
.portfolio-editorial .brokerage-work.project-case .work-copy{grid-column:1}
.portfolio-editorial .brokerage-work.project-case .case-showcase{grid-column:2}
.portfolio-editorial .brokerage-work .case-main{left:8%;width:92%;top:0}
.portfolio-editorial .brokerage-work .case-detail{left:-2%;right:auto;width:43%;bottom:0}
.portfolio-editorial .aios-work .case-composition{aspect-ratio:1.28}
.portfolio-editorial .aios-work .case-main{width:94%;top:0}
.portfolio-editorial .aios-work .case-detail{width:51%;bottom:0;right:-1%}
/* Smaller references keep the collection easy to scan between featured stories. */
.portfolio-editorial .work-image{aspect-ratio:1.5;overflow:hidden;background:none;box-shadow:none;border:0;border-radius:4px}
.portfolio-editorial .work-image>img{object-fit:contain;transform:none;transition:none}
.portfolio-editorial .work-image:hover>img{transform:none}
.portfolio-editorial .gallery-project:not(.project-feature):not(.project-case) h2{font-size:clamp(34px,3.1vw,48px)}
.portfolio-editorial .work-bottom .work-detail-link{min-height:44px;display:inline-flex;align-items:center}
.portfolio-editorial .project-panorama{padding:10px 0;gap:7%}
.portfolio-editorial .architecture-work.project-panorama{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
.portfolio-editorial .architecture-work .work-image{aspect-ratio:1.25;overflow:visible}
.portfolio-editorial .architecture-contact-sheet{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;height:100%}
.portfolio-editorial .architecture-contact-sheet img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;border-radius:2px;transform:none}
.portfolio-editorial .architecture-contact-sheet img:nth-child(3){object-fit:contain}
.portfolio-editorial .creative-work .work-image{aspect-ratio:1.5}
.portfolio-editorial .creative-work .work-image>img{object-fit:cover}
.portfolio-editorial .gallery-project[hidden],.portfolio-editorial .work-gallery[hidden]{display:none!important}
.portfolio-editorial .work-gallery:not([data-filter=all]) .collection-chapter{display:none}
.portfolio-editorial :is(a,button):focus-visible{outline:2px solid var(--cobalt);outline-offset:6px}
.portfolio-editorial .collection-closing{padding:68px 7% 78px}
.portfolio-editorial .collection-closing h2{font-size:clamp(55px,6vw,86px)}
/* The same supported highlights are visible before the detailed case narrative. */
.portfolio-case .case-evidence{padding:28px 0 34px;margin:0 0 28px;border-block:1px solid var(--line)}
.portfolio-case .case-evidence-list{display:grid;grid-template-columns:1fr 1fr;gap:32px 8%;margin:0;max-width:1100px}
.portfolio-case .case-evidence-list dt{font:400 15px/1.4 var(--font-text);margin-bottom:9px;color:var(--ink)}
.portfolio-case .case-evidence-list dd{font:400 15px/1.7 var(--font-text);margin:0;color:var(--text-secondary);max-width:49ch}
.portfolio-case .detail-caption{max-width:84ch;line-height:1.7}
.portfolio-case .detail-sections h2{color:var(--ink)}
@media(max-width:1100px){
 .portfolio-editorial .collection-opening{padding-top:138px;min-height:740px;gap:3%}
 .portfolio-editorial .collection-opening h1{font-size:clamp(78px,10vw,106px)}
 .portfolio-editorial .collection-context{font-size:15px}
 .portfolio-editorial .collection-toolbar{align-items:flex-start}
 .portfolio-editorial .project-feature,.portfolio-editorial .project-feature+.project-feature,.portfolio-editorial .project-case,.portfolio-editorial .brokerage-work.project-case{gap:5%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .portfolio-editorial :is(.project-feature,.project-case) .work-copy>p{font-size:16px}
 .portfolio-editorial .work-highlights>div{grid-template-columns:1fr;gap:3px}
}
@media(max-width:800px){
 .portfolio-editorial .collection-opening{grid-template-columns:1fr;gap:30px;padding:126px 7% 34px;min-height:0;overflow:clip}
 .portfolio-editorial .collection-opening h1{font-size:clamp(80px,18vw,112px);margin-bottom:25px}
 .portfolio-editorial .collection-intro{font-size:28px}
 .portfolio-editorial .collection-context{font-size:15px}
 .portfolio-editorial .collection-object{max-width:680px;width:110%;justify-self:center;margin:2px -5% 0}
 .portfolio-editorial .collection-explore{margin-top:23px}
 .portfolio-editorial .collection-intro{max-width:25ch}
 .portfolio-editorial .collection-toolbar{padding:20px 0 32px;gap:15px}
 .portfolio-editorial .category-filters{gap:3px 21px}
 .portfolio-editorial .work-gallery{grid-template-columns:minmax(0,1fr);gap:52px}
 .portfolio-editorial .collection-chapter{margin:0 0 -20px;padding-top:26px}
 .portfolio-editorial .collection-chapter h2{font-size:38px}
 .portfolio-editorial .project-feature,.portfolio-editorial .project-feature+.project-feature,.portfolio-editorial .project-case,.portfolio-editorial .brokerage-work.project-case{
  display:flex;flex-direction:column;align-items:stretch;gap:24px;padding:0 0 36px;
 }
 .portfolio-editorial .project-feature .work-copy,.portfolio-editorial .project-case .work-copy{order:0}
 .portfolio-editorial .project-feature .feature-showcase,.portfolio-editorial .project-case .case-showcase{order:1;width:100%}
 .portfolio-editorial .project-feature h2{font-size:64px}
 .portfolio-editorial .project-case h2{font-size:clamp(39px,9.5vw,57px)}
 .portfolio-editorial .work-highlights{max-width:47ch;gap:13px}
 .portfolio-editorial .work-highlights>div{grid-template-columns:100px minmax(0,1fr);gap:16px}
 .portfolio-editorial .feature-image{aspect-ratio:1.12}
 .portfolio-editorial .feature-phone{width:24%;right:0}
 .portfolio-editorial .project-visual-note{font-size:11px;text-align:left;line-height:1.65}
 .portfolio-editorial .feature-controls{gap:24px;justify-content:flex-start}
 .portfolio-editorial .feature-controls button{font-size:13px}
 .portfolio-editorial .case-detail{right:0}
 .portfolio-editorial .brokerage-work .case-detail{left:0}
 .portfolio-editorial .aios-work .case-detail{right:0}
 .portfolio-editorial .architecture-work.project-panorama{display:flex;gap:0}
 .portfolio-editorial .architecture-work .work-image{aspect-ratio:1.2}
 .portfolio-editorial .architecture-contact-sheet{gap:8px}
 .portfolio-editorial .collection-closing{padding:48px 7% 58px}
 .portfolio-case .case-evidence-list{grid-template-columns:1fr;gap:22px}
}
@media(prefers-reduced-motion:reduce){
 .portfolio-editorial [data-depth-layer]{transform:none!important}
}
.portfolio-editorial.reduced-motion [data-depth-layer]{transform:none!important}
