body.studio-page{
  --studio-gap:clamp(14px,1.45vw,22px);
}
*{
  box-sizing:border-box;
}
html{
  color-scheme:dark;
}
.studio-page{
  margin:0;
  min-height:100vh;
  overflow-x:hidden;
}
.studio-page>.site-footer{
  position:relative;
  z-index:2;
}
.studio-tab{
  position:relative;
  appearance:none;
  cursor:pointer;
  transition:transform .24s ease,border-color .24s ease;
}
.studio-tab::after{
  display:none;
}
.studio-panel.is-active{
  animation:studioPanelIn .46s cubic-bezier(.2,.8,.2,1) both;
}
.studio-media{
  position:relative;
  margin:0;
  overflow:hidden;
  isolation:isolate;
}
.studio-media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.7;
}
.studio-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .72s cubic-bezier(.2,.8,.2,1),filter .48s ease;
}
@media (hover:hover) and (pointer:fine){
.studio-media:hover img{
  transform:scale(1.014);
}
}
.studio-photography-archive{
  width:100%;
  max-width:100%;
  min-width:0;
  margin-inline:auto;
  container-type:inline-size;
}
.studio-photography-archive .studio-photo-safe{
  width:100%;
  max-width:100%;
  min-width:0;
  margin-inline:auto;
}
.studio-model{
  position:relative;
  overflow:hidden;
}
.studio-project-feature{
  width:calc(100% - 50px);
  margin-inline:auto;
  aspect-ratio:16/9;
}
.studio-model-frame{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  transition:opacity .4s ease;
}
.studio-model.is-loaded .studio-model-frame{
  opacity:1;
}
.studio-model-placeholder{
  position:absolute;
  inset:0;
  display:grid;
  place-content:center;
  gap:12px;
  text-align:center;
  transition:opacity .3s ease;
}
.studio-model-placeholder span{
  width:28px;
  height:28px;
  animation:studioSpin 1s linear infinite;
  margin:auto;
}
.studio-model.is-loaded .studio-model-placeholder{
  opacity:0;
  pointer-events:none;
}
.studio-project-grid{
  width:calc(100% - 50px);
  margin-inline:auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--studio-gap);
  margin-top:var(--studio-gap);
}
.studio-project-card{
  aspect-ratio:16/9;
}
.studio-panel-action{
  display:flex;
  justify-content:center;
  align-items:center;
  width:calc(100% - 50px);
  margin-inline:auto;
  padding-top:clamp(32px,4vw,54px);
}
@keyframes studioSpin{to{transform:rotate(360deg);}}
@keyframes studioPanelIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
@media (max-width:900px){
:root{
  --studio-gap:14px;
}
.studio-photography-archive .photo-layout{
  transform:none;
}
}
@media (max-width:680px){
.studio-project-feature,.studio-project-grid,.studio-panel-action{
  width:calc(100% - 20px);
}
.studio-project-grid{
  grid-template-columns:1fr;
}
.studio-project-card{
  aspect-ratio:16/9;
}
.studio-panel-action{
  padding-top:32px;
}
}
@media (prefers-reduced-motion:reduce){
.studio-panel.is-active{
  animation:none;
}
.studio-media img,.studio-model-frame,.studio-tab,.studio-tab::after,.studio-action,.studio-action b{
  transition:none;
}
.studio-model-placeholder span{
  animation:none;
}
}
.studio-model-fullscreen-button{
  position:absolute;
  z-index:12;
  left:10px;
  top:10px;
  display:grid;
  place-items:center;
  text-align:center;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
  width:42px;
  height:42px;
  padding:0;
}
.studio-model-fullscreen-button span{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
}
.studio-model.is-fullscreen .studio-model-fullscreen-button span::before{
  content:"×";
}
.studio-model:fullscreen,
.studio-model:-webkit-full-screen,
.studio-model.is-css-fullscreen{
  width:100vw;
  height:100vh;
  max-width:none;
  max-height:none;
  aspect-ratio:auto;
}
.studio-model.is-css-fullscreen{
  position:fixed;
  inset:0;
  z-index:22000;
}
.studio-model:fullscreen .studio-model-frame,
.studio-model:-webkit-full-screen .studio-model-frame,
.studio-model.is-css-fullscreen .studio-model-frame{
  width:100%;
  height:100%;
  opacity:1;
}
body.studio-model-fullscreen-open{
  overflow:hidden;
  overscroll-behavior:none;
}
@media (max-width:680px){
.studio-model-fullscreen-button{
  left:10px;
  top:10px;
}
}
.studio-photography-archive .reveal-block{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .76s ease,transform .76s cubic-bezier(.2,.8,.2,1);
}
.studio-photography-archive .reveal-block.is-visible{
  opacity:1;
  transform:none;
}
.studio-photography-archive .photo-scene{
  position:relative;
  padding:0 0 clamp(10px,1cqw,16px);
}
.studio-photography-archive .photo-layout{
  transform:scale(.94);
  transform-origin:top center;
  position:relative;
  isolation:isolate;
}
.studio-photography-archive .photo-card{
  --rx:0deg;
  --ry:0deg;
  --lift:0px;
  --scale:1;
  position:absolute;
  overflow:hidden;
  transform:perspective(1100px) translateY(var(--lift)) rotateX(var(--rx)) rotateY(var(--ry)) scale(var(--scale));
  transform-style:preserve-3d;
  transition:transform .22s ease,box-shadow .32s ease,filter .32s ease,opacity .32s ease,border-color .32s ease;
  will-change:transform;
}
.studio-photography-archive .photo-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:2;
  pointer-events:none;
  opacity:0;
  transition:opacity .26s ease;
}
.studio-photography-archive .photo-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
}
.studio-photography-archive .photo-card:hover{
  --lift:-7px;
  --scale:1.012;
  z-index:30;
}
.studio-photography-archive .photo-card:hover::before{
  opacity:1;
}
.studio-photography-archive .photo-layout:hover .photo-card:not(:hover){
  opacity:.95;
}
.studio-photography-archive .portrait-stack-left:hover .photo-card:not(:hover){
  opacity:1;
}
.studio-photography-archive .photo-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.studio-photography-archive .photo-card-landscape{
  aspect-ratio:16/9;
}
.studio-photography-archive .photo-card-portrait{
  aspect-ratio:9/16;
}
.studio-photography-archive .scene-hero{
  padding-bottom:clamp(14px,1.2cqw,20px);
}
.studio-photography-archive .layout-hero{
  --hero-group-gap:clamp(18px,1.8cqw,28px);
  --stack-area-width:clamp(390px,31cqw,470px);
  --hero-portrait-width:clamp(450px,34cqw,560px);
  --hero-group-width:calc(var(--stack-area-width) + var(--hero-group-gap) + var(--hero-portrait-width));
  height:clamp(670px,55cqw,820px);
  margin-inline:auto;
}
.studio-photography-archive .portrait-stack-left{
  position:absolute;
  left:50%;
  top:clamp(88px,7cqw,118px);
  width:var(--stack-area-width);
  height:clamp(585px,45cqw,720px);
  transform:translateX(calc((var(--hero-group-width) * -0.5) + 18px));
}
.studio-photography-archive .stack-card{
  width:clamp(252px,19cqw,308px);
}
.studio-photography-archive .stack-card-back{
  left:0;
  top:0;
  z-index:4;
  opacity:1;
}
.studio-photography-archive .stack-card-back:hover{
  opacity:1;
}
.studio-photography-archive .portrait-stack-left:hover .stack-card-back:not(:hover){
  opacity:1;
}
.studio-photography-archive .portrait-stack-left:hover .stack-card-front:not(:hover){
  opacity:1;
}
.studio-photography-archive .stack-card-front{
  left:clamp(92px,7cqw,124px);
  top:clamp(112px,9cqw,156px);
  z-index:7;
}
.studio-photography-archive .hero-portrait{
  left:50%;
  top:clamp(60px,5cqw,82px);
  width:var(--hero-portrait-width);
  transform:translateX(calc(var(--stack-area-width) * .06));
  z-index:8;
}
.studio-photography-archive .layout-landscape-anchor{
  height:clamp(290px,23cqw,360px);
}
.studio-photography-archive .anchor-landscape{
  left:clamp(120px,13cqw,182px);
  top:0;
  width:min(48cqw,670px);
  z-index:4;
}
.studio-photography-archive .layout-red-pair-strict{
  --pair-left:clamp(120px,13cqw,182px);
  --pair-landscape-w:min(48cqw,670px);
  --pair-gap:clamp(18px,1.5cqw,28px);
  --pair-portrait-w:clamp(248px,17cqw,300px);
  height:clamp(540px,37cqw,590px);
}
.studio-photography-archive .red-pair-landscape{
  left:var(--pair-left);
  top:clamp(178px,12cqw,210px);
  width:var(--pair-landscape-w);
  z-index:4;
}
.studio-photography-archive .red-pair-portrait{
  left:calc(var(--pair-left) + var(--pair-landscape-w) + var(--pair-gap));
  top:0;
  width:var(--pair-portrait-w);
  z-index:8;
}
.studio-photography-archive .red-stack-scene{
  padding-bottom:clamp(12px,1cqw,18px);
}
.studio-photography-archive .layout-red-stack-strict{
  --wide:min(70cqw,1160px);
  --wide-h:calc(var(--wide) * 9 / 16);
  --row-gap:clamp(18px,1.4cqw,24px);
  --portrait-w:clamp(232px,15cqw,264px);
  --portrait-inset:clamp(52px,4cqw,66px);
  height:calc(var(--wide-h) * 3 + var(--row-gap) * 2);
}
.studio-photography-archive .red-stack-landscape{
  left:50%;
  margin-left:calc(var(--wide) / -2);
  width:var(--wide);
  z-index:4;
}
.studio-photography-archive .red-stack-landscape-a{
  top:0;
}
.studio-photography-archive .red-stack-landscape-b{
  top:calc(var(--wide-h) + var(--row-gap));
}
.studio-photography-archive .red-stack-landscape-c{
  top:calc(var(--wide-h) * 2 + var(--row-gap) * 2);
}
.studio-photography-archive .red-stack-portrait{
  width:var(--portrait-w);
  z-index:9;
}
.studio-photography-archive .red-stack-portrait-left{
  right:calc(50% + var(--wide) / 2 - var(--portrait-inset));
  top:clamp(220px,16cqw,280px);
}
.studio-photography-archive .red-stack-portrait-right{
  left:calc(50% + var(--wide) / 2 - var(--portrait-inset));
  top:calc(var(--wide-h) + var(--row-gap) + clamp(250px,18cqw,320px));
}
.studio-photography-archive .photo-meta{
  position:absolute;
  z-index:18;
  width:clamp(270px,17.5cqw,330px);
  padding:18px 20px 19px;
  pointer-events:none;
}
.studio-photography-archive .photo-meta p{
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  align-items:start;
  gap:10px;
  margin:0 0 8px;
}
.studio-photography-archive .photo-meta p:last-child{
  margin-bottom:0;
}
.studio-photography-archive .photo-meta b{
  white-space:nowrap;
}
.studio-photography-archive .photo-meta span{
  min-width:0;
}
.studio-photography-archive .photo-meta-hero-left{
  left:clamp(4px,.8cqw,14px);
  top:clamp(156px,12.4cqw,210px);
}
.studio-photography-archive .photo-meta-hero-right{
  right:clamp(4px,.7cqw,12px);
  top:clamp(150px,11.8cqw,204px);
}
.studio-photography-archive .photo-meta-anchor-bottom{
  display:none;
}
.studio-photography-archive .photo-meta-pair-left{
  display:grid;
  left:var(--pair-left);
  top:clamp(12px,1.1cqw,20px);
  width:var(--pair-landscape-w);
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:14px;
  row-gap:8px;
  padding:15px 18px 16px;
}
.studio-photography-archive .photo-meta-pair-left p{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0;
}
.studio-photography-archive .photo-meta-pair-left p:nth-child(1){
  grid-column:1/6;
}
.studio-photography-archive .photo-meta-pair-left p:nth-child(2){
  grid-column:6/13;
}
.studio-photography-archive .photo-meta-pair-left p:nth-child(3){
  grid-column:1/4;
}
.studio-photography-archive .photo-meta-pair-left p:nth-child(4){
  grid-column:4/6;
}
.studio-photography-archive .photo-meta-pair-left p:nth-child(5){
  grid-column:6/9;
}
.studio-photography-archive .photo-meta-pair-left p:nth-child(6){
  grid-column:9/10;
}
.studio-photography-archive .photo-meta-pair-left p:nth-child(7){
  grid-column:10/13;
}
.studio-photography-archive .photo-meta-pair-right{
  right:clamp(2px,.45cqw,8px);
  top:clamp(108px,7.8cqw,142px);
  width:clamp(285px,18cqw,340px);
}
.studio-photography-archive .photo-meta-stack-a-right{
  right:clamp(2px,.45cqw,8px);
  top:clamp(102px,7.2cqw,136px);
  width:clamp(285px,18cqw,340px);
}
.studio-photography-archive .photo-meta-stack-b-left{
  left:clamp(2px,.45cqw,8px);
  top:calc(var(--wide-h) + var(--row-gap) + clamp(102px,7.2cqw,136px));
  width:clamp(285px,18cqw,340px);
}
.studio-photography-archive .photo-meta-stack-c-right{
  right:clamp(2px,.45cqw,8px);
  top:calc(var(--wide-h) * 2 + var(--row-gap) * 2 + clamp(102px,7.2cqw,136px));
  width:clamp(285px,18cqw,340px);
}
@media (max-width:1380px){
.studio-photography-archive .photo-meta{
  width:clamp(245px,18cqw,290px);
  padding:15px 16px 16px;
}
.studio-photography-archive .photo-meta p{
  gap:8px;
  margin-bottom:7px;
}
.studio-photography-archive .photo-meta-pair-left{
  width:min(54cqw,720px);
  padding:13px 15px 14px;
}
.studio-photography-archive .photo-meta-pair-right,.studio-photography-archive .photo-meta-stack-a-right,.studio-photography-archive .photo-meta-stack-b-left,.studio-photography-archive .photo-meta-stack-c-right{
  width:clamp(250px,18cqw,295px);
}
}
@media (max-width:1180px){
.studio-photography-archive .layout-hero{
  --stack-area-width:clamp(330px,31cqw,390px);
  --hero-portrait-width:clamp(370px,33cqw,460px);
}
.studio-photography-archive .anchor-landscape{
  width:min(52cqw,620px);
}
.studio-photography-archive .layout-red-pair-strict{
  --pair-left:clamp(72px,9cqw,120px);
  --pair-landscape-w:min(50cqw,590px);
  --pair-portrait-w:clamp(220px,18cqw,260px);
}
.studio-photography-archive .layout-red-stack-strict{
  --wide:min(74cqw,900px);
  --portrait-w:clamp(205px,17cqw,236px);
  --portrait-inset:clamp(44px,4cqw,56px);
}
.studio-photography-archive .photo-meta{
  width:230px;
  padding:13px 14px;
}
.studio-photography-archive .photo-meta p{
  gap:7px;
  margin-bottom:6px;
}
.studio-photography-archive .photo-meta-pair-left{
  width:min(55cqw,620px);
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:7px 10px;
}
.studio-photography-archive .photo-meta-pair-left p:nth-child(1){
  grid-column:1/4;
}
.studio-photography-archive .photo-meta-pair-left p:nth-child(2){
  grid-column:4/7;
}
.studio-photography-archive .photo-meta-pair-left p:nth-child(3){
  grid-column:1/3;
}
.studio-photography-archive .photo-meta-pair-left p:nth-child(4){
  grid-column:3/5;
}
.studio-photography-archive .photo-meta-pair-left p:nth-child(5){
  grid-column:5/7;
}
.studio-photography-archive .photo-meta-pair-left p:nth-child(6){
  grid-column:1/3;
}
.studio-photography-archive .photo-meta-pair-left p:nth-child(7){
  grid-column:3/7;
}
}
@media (max-width:900px){
.studio-photography-archive .photo-scene{
  padding-bottom:22px;
}
.studio-photography-archive .layout-hero,.studio-photography-archive .layout-landscape-anchor,.studio-photography-archive .layout-red-pair-strict,.studio-photography-archive .layout-red-stack-strict{
  height:auto;
  display:grid;
  gap:14px;
}
.studio-photography-archive .portrait-stack-left,.studio-photography-archive .hero-portrait,.studio-photography-archive .anchor-landscape,.studio-photography-archive .red-pair-landscape,.studio-photography-archive .red-pair-portrait,.studio-photography-archive .red-stack-landscape,.studio-photography-archive .red-stack-portrait{
  position:relative;
  inset:auto;
  left:auto;
  right:auto;
  top:auto;
  bottom:auto;
  margin:0;
  transform:none;
  opacity:1;
}
.studio-photography-archive .portrait-stack-left{
  width:100%;
  height:auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.studio-photography-archive .stack-card{
  position:relative;
  left:auto;
  top:auto;
  width:100%;
  max-width:280px;
  justify-self:center;
}
.studio-photography-archive .hero-portrait,.studio-photography-archive .red-pair-portrait,.studio-photography-archive .red-stack-portrait{
  width:min(100%,340px);
  justify-self:center;
}
.studio-photography-archive .anchor-landscape,.studio-photography-archive .red-pair-landscape,.studio-photography-archive .red-stack-landscape{
  width:100%;
}
.studio-photography-archive .photo-meta,.studio-photography-archive .photo-meta-pair-left{
  position:relative;
  inset:auto;
  width:100%;
  max-width:none;
  margin:10px 0 0;
  padding:14px 16px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 14px;
}
.studio-photography-archive .photo-meta p,.studio-photography-archive .photo-meta-pair-left p{
  display:grid;
  grid-template-columns:max-content 1fr;
  gap:7px;
  margin:0;
}
.studio-photography-archive .photo-meta-pair-left p:nth-child(n){
  grid-column:auto;
}
}
@media (max-width:620px){
.studio-photography-archive .photo-meta,.studio-photography-archive .photo-meta-pair-left{
  grid-template-columns:1fr;
}
}
@media (prefers-reduced-motion:reduce){
.studio-photography-archive .photo-card{
  transition:none;
}
}
.studio-panel{
  position:relative;
  isolation:isolate;
  box-sizing:border-box;
  width:var(--layout-main-width);
  max-width:none;
  min-width:0;
  margin:var(--layout-main-section-gap) auto var(--layout-main-section-gap-bottom);
  padding:var(--layout-main-padding);
}
.studio-panel>*{
  position:relative;
  z-index:1;
}
body.studio-page #studio-panel-photography{
  overflow:clip;
}
body.studio-page #studio-panel-photography .studio-photography-archive,
body.studio-page #studio-panel-photography .studio-photo-safe,
body.studio-page #studio-panel-photography .photo-layout{
  max-width:100%;
  min-width:0;
}

.studio-tab{letter-spacing:.12em;}
.studio-model.is-fullscreen .studio-model-fullscreen-button span::before{line-height:1;}
.studio-photography-archive .photo-meta p{line-height:1.48;}
.studio-photography-archive .photo-meta-pair-left p{line-height:1.4;}
@media (max-width:900px){.studio-photography-archive .photo-meta p,.studio-photography-archive .photo-meta-pair-left p{line-height:1.4;}}
p,li,dd,dt,label,input,textarea,select,blockquote,figcaption, .photo-meta p,.studio-model-placeholder,.library-empty{font-size:var(--type-body);}
.studio-model-placeholder small{letter-spacing:.08em;}
@media (max-width:430px){.studio-tab{letter-spacing:.12em;}}
