.portfolio-collection{--portfolio-ruby:var(--ruby-deep,#750a20);color:#271c20;padding:3px 0 0}.portfolio-showcase{isolation:isolate;touch-action:pan-y;background:#3e1720;height:clamp(540px,54vw,760px);position:relative;overflow:hidden}.portfolio-showcase:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#26071040,#0000 35%,#450a1930);position:absolute;inset:0}.portfolio-showcase-images{z-index:-2;position:absolute;inset:0}.portfolio-showcase-image{opacity:0;transition:opacity .8s,transform 1.4s cubic-bezier(.2,.65,.3,1);position:absolute;inset:0;transform:scale(1.035)}.portfolio-showcase-image.is-active{opacity:1;transform:scale(1)}.portfolio-showcase-image img{object-fit:cover;object-position:center}.portfolio-showcase-top{color:#fff;justify-content:space-between;align-items:center;gap:25px;display:flex;position:absolute;top:28px;left:30px;right:30px}.portfolio-showcase-top>span:last-child{letter-spacing:.1em;text-shadow:0 1px 12px #260710;font-size:10px}.portfolio-showcase-counter{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);font-variant-numeric:tabular-nums;background:#65071ba6;border:1px solid #ffffff4a;align-items:baseline;gap:14px;min-width:98px;padding:11px 16px;font-size:16px;display:inline-flex}.portfolio-showcase-counter>i{color:#ffe7eb;font-size:10px;font-style:normal}.portfolio-featured-caption{color:#fff;-webkit-backdrop-filter:blur(24px)saturate(1.2);backdrop-filter:blur(24px)saturate(1.2);background:linear-gradient(130deg,#750a20e6,#920c2bce 68%,#b50e2dc7);border:1px solid #ffffff4d;width:min(430px,100% - 64px);padding:29px 31px;animation:.5s both portfolio-caption-enter;position:absolute;bottom:32px;left:32px;box-shadow:0 16px 65px #60061c45,inset 0 1px #ffffff1f}.portfolio-featured-category{color:#ffe6eb;margin-bottom:12px;font-size:11px;line-height:1.5;display:block}.portfolio-featured-caption>h2{letter-spacing:-.045em;margin:0 0 18px;font-size:clamp(29px,3vw,42px);font-weight:400;line-height:1.1}.portfolio-featured-caption>p{color:#fff4f6;max-width:350px;margin:0 0 22px;font-size:14px;line-height:1.8}.portfolio-featured-link{color:#fff;border-top:1px solid #ffffff38;justify-content:space-between;align-items:center;gap:25px;padding-top:18px;font-size:13px;line-height:1.5;display:flex}.portfolio-featured-link>svg{width:19px;height:19px;transition:transform .35s}.portfolio-featured-link:hover>svg{transform:translate(3px,-3px)}.portfolio-showcase-controls{gap:10px;display:flex;position:absolute;bottom:32px;right:32px}.portfolio-showcase-controls>button{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:#fff;background:#750a20b3;border:1px solid #ffffff65;border-radius:50%;place-items:center;width:48px;height:48px;font-size:22px;transition:background .3s,transform .3s;display:grid}.portfolio-showcase-controls>button:hover{background:#a00b29d9;transform:translateY(-2px)}.portfolio-showcase :is(a,button):focus-visible,.project-lightbox button:focus-visible{outline-offset:5px;outline:2px solid #fff}.portfolio-selector{grid-template-columns:repeat(var(--portfolio-columns,4), minmax(0, 1fr));background:linear-gradient(120deg,#fff6f7,#ffffffc7);border:1px solid #e9c9cf;gap:0;margin-top:22px;display:grid;box-shadow:0 10px 40px #8c15300a}.portfolio-selector.portfolio-selector-single{grid-template-columns:1fr}.portfolio-selector-item{border-right:1px solid #ead1d6;align-items:center;gap:8px;min-width:0;padding:19px 18px;scroll-margin-top:110px;display:flex;position:relative}.portfolio-selector-item:last-child{border-right:0}.portfolio-selector-item:after{content:"";background:var(--brand,#d71935);transform-origin:0;height:2px;transition:transform .4s cubic-bezier(.2,.65,.3,1);position:absolute;bottom:-1px;left:18px;right:18px;transform:scaleX(0)}.portfolio-selector-item.is-active:after{transform:scaleX(1)}.portfolio-selector-button{width:100%;min-width:0;color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:14px;padding:0;display:flex}.portfolio-selector-photo{background:#e1c9cf;flex:0 0 70px;width:70px;height:62px;position:relative;overflow:hidden}.portfolio-selector-photo img{object-fit:cover;transition:transform .6s}.portfolio-selector-button:hover .portfolio-selector-photo img{transform:scale(1.06)}.portfolio-selector-title{min-width:0;display:block}.portfolio-selector-title>small{color:#85666e;font-size:10px;line-height:1.6;display:block}.portfolio-selector-title>strong{letter-spacing:-.025em;color:#39272d;margin-top:5px;font-size:16px;font-weight:400;line-height:1.3;display:block}.portfolio-selector-item.is-active .portfolio-selector-title>strong{color:var(--brand,#d71935)}.portfolio-tile-link{color:#8d1832;flex:0 0 25px;place-items:center;width:25px;height:35px;display:grid}.portfolio-tile-link>svg{width:17px;height:17px;transition:transform .3s}.portfolio-tile-link:hover>svg{transform:translate(2px,-2px)}.portfolio-collection-note{color:#80616b;max-width:620px;margin:25px 0 0;font-size:12px;line-height:1.85}.project-case{--portfolio-ruby:var(--ruby-deep,#750a20);color:#302027;background:radial-gradient(at 92% 31%,#f1c6cf57,#0000 38%),radial-gradient(at 8% 79%,#e9b1c13b,#0000 32%)}.project-case-header{max-width:1580px;padding:32px var(--gutter) 33px;margin:auto}.project-case-back{color:#8b4e60;align-items:center;gap:12px;margin-bottom:31px;font-size:12px;line-height:1.5;transition:color .3s;display:inline-flex}.project-case-back>span{font-size:17px}.project-case-back:hover{color:var(--brand,#d71935)}.project-case-intro{grid-template-columns:1.2fr 1fr;align-items:end;gap:70px;display:grid}.project-case-category{color:#ae1a3b;margin-bottom:12px;font-size:12px;line-height:1.6;display:block}.project-case-intro h1{letter-spacing:-.05em;margin:0;font-size:clamp(38px,4vw,54px);font-weight:400;line-height:1.1}.project-case-intro>p{color:#785563;max-width:420px;margin:0 0 2px;font-size:15px;line-height:1.8}.project-photography{max-width:1580px;padding:0 var(--gutter);margin:0 auto}.project-cover{color:#fff;background:#35141f;border:0;width:100%;height:clamp(420px,53vw,740px);padding:0;display:block;position:relative;overflow:hidden}.project-cover img{object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.65,.3,1)}.project-cover:hover img{transform:scale(1.025)}.project-cover-expand{color:#fff;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:linear-gradient(125deg,#750a20cc,#ba153989);border:1px solid #ffffff65;align-items:center;gap:27px;padding:15px 20px;display:inline-flex;position:absolute;bottom:26px;right:26px;box-shadow:0 12px 35px #4c071e3d}.project-cover-expand>span{font-size:12px}.project-cover-expand>svg{width:18px;height:18px}.project-secondary-photographs{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:32px;display:grid}.project-secondary-photographs figure{min-width:0;margin:0}.project-secondary-photographs figure:nth-child(2n){padding-top:60px}.project-secondary-photographs figure>button{aspect-ratio:1.2;color:#fff;background:#ecd2da;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.project-secondary-photographs figure>button img{object-fit:cover;transition:transform .9s}.project-secondary-photographs figure>button:hover img{transform:scale(1.035)}.project-secondary-photographs figure>button>span{color:#fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#750a20b3;border:1px solid #ffffff64;place-items:center;width:42px;height:42px;display:grid;position:absolute;bottom:17px;right:17px}.project-secondary-photographs figure>button>span>svg{width:18px;height:18px}.project-secondary-photographs figcaption{color:#865967;margin-top:14px;font-size:12px;line-height:1.75}.project-case-story{max-width:1580px;padding:64px var(--gutter) 68px;grid-template-columns:1.2fr 1fr;gap:70px;margin:0 auto;display:grid;position:relative}.project-case-story h2{letter-spacing:-.04em;max-width:400px;margin:0;font-size:clamp(28px,2.8vw,39px);font-weight:400;line-height:1.23}.project-case-story-copy>p{color:#775564;max-width:540px;margin:0 0 22px;font-size:15px;line-height:1.9}.project-case-story-copy>p.project-case-reference{color:#906574;border-left:1px solid #dbaab8;margin-bottom:0;padding-left:17px;font-size:12px;line-height:1.85}.project-case-facts{border-top:1px solid #e8c8d1;grid-template-columns:1fr 1fr;gap:23px 30px;margin:30px 0 0;padding-top:25px;display:grid}.project-case-facts>div{min-width:0}.project-case-facts dt{color:#936777;margin-bottom:7px;font-size:12px;line-height:1.6}.project-case-facts dd{color:#3f2932;margin:0;font-size:14px;line-height:1.7}.project-case-next{max-width:1580px;padding:0 var(--gutter) 70px;margin:0 auto}.project-case-next>a{color:#fff;background:#5b152a;min-height:420px;display:block;position:relative;overflow:hidden}.project-case-next-photo{position:absolute;inset:0;overflow:hidden}.project-case-next-photo img{object-fit:cover;transition:transform 1.2s}.project-case-next>a:hover .project-case-next-photo img{transform:scale(1.035)}.project-case-next-copy{color:#fff;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:linear-gradient(130deg,#750a20e6,#9c0c2ac9);border:1px solid #ffffff45;width:min(420px,100% - 64px);min-height:255px;margin:32px 32px 32px auto;padding:29px 32px;position:relative}.project-case-next-copy>span:first-child{color:#ffe1ea;font-size:12px;line-height:1.5}.project-case-next-copy h2{color:#fff;letter-spacing:-.04em;margin:14px 0 17px;font-size:clamp(29px,3vw,40px);font-weight:400;line-height:1.15}.project-case-next-copy>p{color:#fff2f6;max-width:340px;margin:0 0 23px;font-size:14px;line-height:1.8}.project-case-next-link{color:#fff;border-top:1px solid #ffffff40;justify-content:space-between;align-items:center;gap:30px;padding-top:17px;font-size:13px;line-height:1.5;display:flex}.project-case-next-link>svg{width:18px;height:18px;transition:transform .3s}.project-case-next>a:hover .project-case-next-link>svg{transform:translate(3px,-3px)}.project-lightbox{isolation:isolate;color:#fff;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);background:linear-gradient(135deg,#4c071cd9,#750a209c 60%,#3a0414d9);border:1px solid #f8b2c044;width:calc(100vw - 28px);max-width:1800px;height:calc(100dvh - 28px);max-height:none;margin:auto;padding:61px 28px 0;position:fixed;overflow:hidden}.project-lightbox[open]{grid-template-rows:minmax(0,1fr) auto;animation:.3s both project-lightbox-enter;display:grid}.project-lightbox::backdrop{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:radial-gradient(at 20% 85%,#b50e3b80,#2c0313e8 65%)}.project-lightbox-close{z-index:2;color:#fff;background:#ffffff12;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:38px;height:38px;font-size:29px;line-height:1;transition:background .3s;display:grid;position:absolute;top:11px;right:20px}.project-lightbox-close:hover{background:#ffffff2b}.project-lightbox-stage{touch-action:pan-y;min-height:0;position:relative;overflow:hidden}.project-lightbox-stage img{object-fit:contain;animation:.4s project-lightbox-enter}.project-lightbox-footer{justify-content:space-between;align-items:center;gap:40px;padding:22px 0;display:flex}.project-lightbox-footer>p{max-width:680px;margin:0;line-height:1.6}.project-lightbox-footer strong{color:#fff;font-size:14px;font-weight:400;display:block}.project-lightbox-footer p>span{color:#f5d5df;margin-top:5px;font-size:12px;display:block}.project-lightbox-controls{flex-shrink:0;align-items:center;gap:20px;display:flex}.project-lightbox-controls>button{color:#fff;background:#a22b4a37;border:1px solid #ffffff54;border-radius:50%;place-items:center;width:40px;height:40px;font-size:20px;transition:background .3s;display:grid}.project-lightbox-controls>button:hover{background:#c3446654}.project-lightbox-controls>span{color:#ffe4ec;text-align:center;min-width:55px;font-size:12px}@keyframes portfolio-caption-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes project-lightbox-enter{0%{opacity:0}to{opacity:1}}@media (max-width:1180px){.portfolio-selector-item{padding:16px 13px}.portfolio-selector-photo{flex-basis:51px;width:51px;height:54px}.portfolio-selector-button{gap:11px}.portfolio-selector-title>small{font-size:9px}.portfolio-selector-title>strong{font-size:15px}.portfolio-tile-link{flex-basis:20px;width:20px}}@media (max-width:900px){.portfolio-showcase{height:620px}.portfolio-selector{grid-template-columns:1fr 1fr}.portfolio-selector-item{padding:17px 18px}.portfolio-selector-item:nth-child(2){border-right:0}.portfolio-selector-item:nth-child(-n+2){border-bottom:1px solid #ead1d6}.portfolio-selector-photo{flex-basis:65px;width:65px;height:58px}.portfolio-selector-title>small{font-size:10px}.portfolio-selector-title>strong{font-size:16px}.portfolio-selector-button{gap:14px}.project-case-intro,.project-case-story{gap:45px}.project-cover{height:540px}}@media (max-width:700px){.portfolio-showcase{height:690px}.portfolio-showcase-image img{object-position:center 35%}.portfolio-showcase-top{top:20px;left:20px;right:20px}.portfolio-showcase-top>span:last-child{letter-spacing:.08em;font-size:8px}.portfolio-showcase-counter{gap:12px;min-width:86px;padding:10px 12px;font-size:14px}.portfolio-featured-caption{width:calc(100% - 40px);padding:25px;bottom:86px;left:20px}.portfolio-featured-caption>h2{margin-bottom:16px;font-size:32px}.portfolio-featured-caption>p{margin-bottom:20px;font-size:14px;line-height:1.8}.portfolio-featured-link{padding-top:16px;font-size:13px}.portfolio-showcase-controls{gap:9px;bottom:20px;right:20px}.portfolio-showcase-controls>button{width:44px;height:44px;font-size:21px}.portfolio-selector{gap:0;margin-top:17px}.portfolio-selector-item{align-items:end;gap:5px;padding:16px 13px}.portfolio-selector-button{display:block}.portfolio-selector-photo{width:100%;max-width:135px;height:78px;margin-bottom:13px;display:block}.portfolio-selector-title>small{font-size:9px;line-height:1.6}.portfolio-selector-title>strong{margin-top:4px;font-size:17px}.portfolio-tile-link{flex-basis:22px;width:22px;height:27px;margin-bottom:0}.portfolio-selector-item:after{left:13px;right:13px}.portfolio-collection-note{margin-top:22px;font-size:12px}.project-case-header{padding-top:24px;padding-bottom:28px}.project-case-back{margin-bottom:26px;font-size:12px}.project-case-intro{grid-template-columns:1fr;gap:21px}.project-case-category{margin-bottom:12px;font-size:12px}.project-case-intro h1{font-size:40px}.project-case-intro>p{max-width:570px;font-size:14px;line-height:1.85}.project-cover{aspect-ratio:.95;height:auto}.project-cover-expand{gap:22px;padding:12px 15px;bottom:16px;right:16px}.project-cover-expand>span{font-size:11px}.project-cover-expand>svg{width:16px;height:16px}.project-secondary-photographs{grid-template-columns:1fr;gap:23px;margin-top:23px}.project-secondary-photographs figure:nth-child(2n){padding-top:0}.project-secondary-photographs figure>button{aspect-ratio:1.15}.project-case-story{grid-template-columns:1fr;gap:23px;padding-top:36px;padding-bottom:42px}.project-case-story h2{max-width:500px;font-size:30px}.project-case-story-copy>p{max-width:650px;font-size:14px;line-height:1.9}.project-case-story-copy>p.project-case-reference{font-size:12px}.project-case-facts{gap:20px;margin-top:25px}.project-case-next{padding-bottom:45px}.project-case-next>a{align-items:end;min-height:530px;display:flex}.project-case-next-photo img{object-position:center}.project-case-next-copy{width:calc(100% - 36px);margin:18px;padding:25px}.project-case-next-copy h2{margin:12px 0 17px;font-size:31px}.project-case-next-copy>p{margin-bottom:20px;font-size:14px}.project-lightbox{width:calc(100vw - 16px);height:calc(100dvh - 16px);padding:56px 14px 0}.project-lightbox-close{width:36px;height:36px;top:9px;right:11px}.project-lightbox-footer{gap:18px;padding:20px 3px;display:grid}.project-lightbox-footer>p>span{font-size:11px;line-height:1.7}.project-lightbox-controls{justify-content:end;gap:16px}.project-lightbox-controls>button{width:36px;height:36px}}@media (max-width:360px){.portfolio-featured-caption{width:calc(100% - 30px);padding:22px;left:15px}.portfolio-selector-title>strong{font-size:16px}.portfolio-selector-photo{height:67px}}@media (prefers-reduced-motion:reduce){.portfolio-collection *,.project-case *,.project-lightbox *{transition-duration:.01ms!important;animation:none!important}}
