/* One outer frame; nested layouts occupy measured spans of the 12/8/4 grid. */
:root[data-wl-layout]{
 --wl-space-1:8px;--wl-space-2:16px;--wl-space-3:24px;--wl-space-4:32px;
 --wl-space-6:48px;--wl-space-8:64px;--wl-space-12:96px;
 --measure:1440px;--composition-gap:var(--wl-gap,24px);--composition-space:64px;
 --composition-columns:minmax(0,calc((100% - var(--wl-gap,24px)*2)/3)) minmax(0,1fr);
}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .shell,
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .shell.shell,
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-featured-work.shell,
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-chapter-heading,
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-chapters .wl-chapter-heading,
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-chapters .wl-chapter-heading-inner,
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #projects-inner,
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] [data-framer-name="footer shell"]{
 box-sizing:border-box;width:var(--wl-shell-width)!important;max-width:var(--wl-shell-width)!important;
 margin-inline:auto!important;padding-inline:0!important;min-width:0;
}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .shell .shell{width:100%!important;max-width:100%!important;margin-inline:0!important}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] footer[data-framer-name="Footer · native shared structure"]{padding-inline:0!important}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .site-header.site-header .header-inner{
 box-sizing:border-box;width:var(--wl-shell-width)!important;max-width:var(--wl-shell-width)!important;
 margin-inline:auto!important;padding-inline:0!important;
}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #intro#intro#intro#intro#intro{
 width:var(--wl-shell-width)!important;max-width:var(--wl-shell-width)!important;margin-inline:auto!important;
 grid-template-columns:repeat(var(--wl-columns),minmax(0,1fr))!important;column-gap:var(--wl-gap)!important;
}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #intro#intro#intro#intro#intro .hero-wordmark{grid-column:1/-1!important;height:var(--wl-brand-height)!important}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #intro#intro#intro#intro#intro .hero-bottom{grid-column:1/-1!important}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #intro#intro#intro#intro#intro #hero-lab{inset-inline-end:0!important}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-chapters{padding-top:var(--wl-opening-top,32px)!important}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-chapters #work{
 width:var(--wl-shell-width)!important;max-width:var(--wl-shell-width)!important;margin-inline:auto!important;
 padding-inline:0!important;padding-top:var(--wl-work-top,24px)!important;
}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-carousel-track{column-gap:var(--wl-gap)!important;padding-inline:0!important}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-carousel-screen{aspect-ratio:16/9}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-chapters #services,
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-chapters #studio,
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-chapters #method,
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-chapters #contact{padding-block:64px!important}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-chapters .wl-chapter-content{padding-bottom:48px!important}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #services .section-heading{margin-bottom:32px}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #services #service-cards{column-gap:var(--wl-gap)!important;row-gap:32px}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #services .service-card{min-width:0}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #studio#studio .studio-composition{column-gap:var(--wl-gap)!important;row-gap:32px!important;padding-block:32px 0!important}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #studio .studio-recommendation{max-width:60ch}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #method .process-map{margin-top:32px!important}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #contact .cat-brief-form{gap:24px!important}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #contact .cat-stage p{max-width:64ch}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .source-case .project>summary{column-gap:24px!important}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .source-case .case-sequence{margin-top:48px}
@media(min-width:1100px){
 html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .site-header.site-header .header-inner{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;column-gap:24px!important}
 html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .site-header .brand{grid-column:1/4!important}
 html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .site-header #primary-navigation{grid-column:4/10!important;justify-self:center!important}
 html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .site-header .header-tools{grid-column:10/13!important;justify-self:end!important}
 html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #intro#intro#intro#intro#intro{min-height:var(--wl-hero-min-height)!important}
 html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #intro .studio-work-link.chesh-cta{
  position:absolute;left:calc(var(--wl-canon-x) - var(--wl-side) - 72px);
  top:calc(var(--wl-canon-y) - 108px);width:144px;height:88px;min-height:88px;margin:0;
 }
 html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #studio#studio .studio-composition{grid-template-columns:var(--composition-columns)!important}
 html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #contact#contact .cat-workspace{grid-template-columns:var(--composition-columns)!important;column-gap:24px!important}
 html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #services #service-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #intro .type-lab-panel{
  inset-inline-start:calc((100% - 11*24px)/12*7 + 7*24px)!important;
  width:calc((100% - 11*24px)/12*4 + 3*24px)!important;
 }
}
/* A short viewport does not shrink touch targets or the rail's rhythm. */
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #hero-lab{direction:ltr}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #heroWordmark,html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .chesh-cta{direction:ltr;unicode-bidi:isolate}
@media(max-width:1099px){
 html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-chapters #services,html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-chapters #studio,
 html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-chapters #method,html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-chapters #contact{padding-block:48px!important}
}
@media(min-width:601px) and (max-width:1099px){html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-carousel-track{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){
 html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-chapters #services,html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-chapters #studio,
 html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-chapters #method,html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-chapters #contact{padding-block:32px!important}
 html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .wl-chapters .wl-chapter-content{padding-bottom:32px!important}
 html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] .source-case .project>summary{column-gap:12px!important}
 html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #studio#studio .studio-composition{row-gap:24px!important;padding-top:24px!important}
}
/* Keep minimal contact fields understandable before the user focuses them. */
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #contact .cat-field>span#cat-description-label,
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #contact .cat-field>span#cat-email-label{font-size:13px!important;line-height:1.5!important;color:var(--muted)!important;grid-column:2!important}
/* Portfolio thumbnails are separated by space and type, without rules. */
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #work .wl-carousel-card,
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #work .wl-carousel-screen,
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #work .wl-featured-meta,
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #work .wl-carousel-caption{border:0!important;box-shadow:none!important}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #work .wl-carousel-card::before,
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #work .wl-carousel-card::after,
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #work .wl-featured-meta::before,
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #work .wl-featured-meta::after{border:0!important;box-shadow:none!important}
/* Portfolio rhythm: 12px image/caption and 32px between rows. Phone: 8px and 24px. */
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #work .wl-carousel-track{row-gap:32px!important;align-items:start!important}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #work .wl-carousel-card{min-width:0;align-self:start;text-decoration:none!important}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #work .wl-carousel-card .wl-carousel-caption{margin:12px 0 0!important;padding:0!important;gap:12px!important;align-items:flex-start!important;width:100%;box-sizing:border-box}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #work .wl-carousel-caption>span:not(.wl-carousel-number):not(.wl-carousel-arrow){min-width:0;flex:1}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #work .wl-carousel-caption strong{margin:0!important;line-height:1.25!important;overflow-wrap:break-word}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #work .wl-carousel-caption small:not(.wl-card-kind){margin:6px 0 0!important;line-height:1.5!important;overflow-wrap:break-word}
html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #work .wl-carousel-arrow{flex:0 0 auto;line-height:1.4}
@media(max-width:600px){
 html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #work .wl-carousel-track{row-gap:24px!important}
 html[data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout][data-wl-layout] #work .wl-carousel-card .wl-carousel-caption{margin-top:8px!important}
}

@media (min-width: 1100px) {
 #work[data-portfolio-view="image"] .wl-carousel-track > .wl-carousel-card:nth-child(-n+3) .wl-carousel-screen {
  height: var(--wl-fold-screen-height, auto) !important;
 }
 #work[data-portfolio-view="image"] .wl-carousel-track > .wl-carousel-card:nth-child(-n+3) .wl-carousel-screen :is(img,video) {
  object-fit: contain !important;
 }
}
@media (min-width: 1100px) and (max-height: 840px) {
 html #intro #hero-lab {
  grid-template-columns: repeat(3,44px) !important;
  width: 132px !important;
 }
 html #intro #hero-lab .wlb-lab-item:has([data-wlb-key]) {
  grid-column: auto !important;
  margin-block: 0 !important;
 }
 #work#work .wl-portfolio-view-switch { margin-block-end: 8px; }
}
