[hidden]{display:none!important}
.site .site-nav a:first-child{color:var(--ink)}.site .site-nav [aria-current="page"]{color:var(--accent)}
.site .site-nav{gap:24px}.site .brand-logo{width:170px}.site .status{font-size:9px}
.nav-toggle{display:none}
.skip-link{position:fixed;left:15px;top:10px;transform:translateY(-180%);z-index:100;background:var(--accent);color:var(--bg);padding:12px 18px;font:12px var(--mono)}.skip-link:focus{transform:none}
.home-page .hero{margin-top:8px}.home-page .hero .caption a{position:relative;z-index:4}.home-page .visual .caption{gap:20px;flex-wrap:wrap}
.home-section{padding-top:38px}.home-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.home-work-grid .work-tile{grid-column:auto;display:flex;flex-direction:column}.home-work-grid .work-tile-image{aspect-ratio:4/3}.home-work-grid .work-tile-info{flex:1;flex-direction:column;align-items:start;justify-content:flex-start;gap:12px;min-height:0}.home-work-grid h2{font-size:calc(32px * var(--scale-project,1))}.home-work-grid .work-tile-link{margin-top:auto}.home-work-grid .logo img{padding:40px}
.home-case-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:1px solid var(--line);border-top:1px solid var(--line)}.home-case-links>a{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.home-case-links h3{font-size:calc(30px * var(--scale-case,1));margin-top:24px}.home-case-links .copy{margin:15px 0 25px;font-size:11px}.home-case-links .mono{font-size:9px}
.site.work-priority .studies-intro h1{font-size:clamp(68px,8vw,130px)}.site .studies-toolbar{align-items:center;flex-wrap:wrap}.site .index-count{font-size:9px;color:var(--muted);margin-left:auto}.site .studies-grid,.site .work-grid{margin-top:26px}.site .studies-grid[data-composition="ledger"] .study-image{min-height:270px}.site .study-content{min-width:0}
.site .screen-notes{--notes-width:clamp(380px,30%,440px)}.site .screen-ledger h1{font-size:clamp(42px,4vw,64px);line-height:.94;overflow-wrap:normal}.site .screen-ledger .copy{font-size:12px}.site .project-credit{flex-wrap:wrap}.site .identity-word h1{font-size:clamp(75px,10vw,155px)}.site .identity-orange .identity-mark{filter:brightness(0)}
.site .mixed-intro .copy{max-width:420px}.site .mixed-intro h1{font-size:clamp(64px,7vw,106px)}.site .mixed-hero[data-composition="background"] figcaption{left:auto;text-align:right}
.project-article{border-top:1px solid var(--line);margin-top:40px;padding:45px 0 20px}.article-body{max-width:920px;margin:0 auto}.article-body h2{font-size:clamp(30px,3vw,44px);margin:40px 0 20px}.article-body h2:first-child{margin-top:0}.article-body h3,.article-body h4{font-size:26px;margin:30px 0 15px}.article-body p,.article-body li,.article-body blockquote{font:14px/1.9 var(--mono);color:#b4b4ae}.article-body p{margin:18px 0}.article-body ul,.article-body ol{padding-left:25px;margin:24px 0}.article-body li{padding-left:8px;margin:7px 0}.article-body a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.article-body blockquote{border-left:2px solid var(--accent);margin:25px 0;padding:12px 24px}.article-body pre{padding:24px;overflow:auto;border:1px solid var(--line);background:#101010;line-height:1.6;font:12px/1.7 var(--mono)}.article-body code{color:var(--ink);background:#202020;padding:2px 4px}.article-body pre code{background:none;padding:0}.article-media{margin:34px 0;border:1px solid var(--line);background:#101010}.article-media img,.article-media video{width:100%;height:auto;max-height:560px;object-fit:contain;display:block}.article-media img{padding:20px}.article-media figcaption{padding:15px 20px;border-top:1px solid var(--line);font:10px var(--mono);color:var(--muted)}
.sample-note{font-size:9px;color:var(--muted);margin-top:40px}.empty-state{font:14px var(--mono);padding:50px 0;color:var(--muted)}.not-found{min-height:60vh;padding:70px 0}.not-found h1{font-size:clamp(55px,8vw,110px)}.about-page .about-row{padding:55px 0 80px;border-bottom:1px solid var(--line)}.contact-placeholder{font-size:11px!important;color:var(--muted)}
.site.case-study .main-square .caption{font-size:10px}.site.case-study .main-square h1{font-size:clamp(72px,7vw,120px)}.site.case-study .main-square .render{object-fit:contain}.site.case-study .recursive h2{font-size:clamp(30px,3vw,44px)}.site.case-study .nested .big-index{font-size:100px}
.site .tool-heading h1{overflow-wrap:anywhere}.site .tools-ledger{margin-bottom:35px}
@media(max-width:1100px){.site .site-header{flex-wrap:wrap;padding:18px 0;gap:18px}.site .site-nav{margin-left:auto;gap:18px}.site .status{display:none}.home-work-grid h2{font-size:calc(28px * var(--scale-project,1))}}
@media(max-width:900px){.home-work-grid{grid-template-columns:1fr 1fr}.home-work-grid .work-tile:last-child{grid-column:1/-1}.home-work-grid .work-tile:last-child .work-tile-image{aspect-ratio:16/7}.home-case-links{grid-template-columns:1fr}.site .site-nav{margin-left:0;width:100%;gap:12px}.site .identity-word h1{font-size:10vw}.site .mixed-intro h1{font-size:64px}}
@media(max-width:640px){.site .brand-logo{width:150px}.site .site-nav{font-size:9px;gap:10px;flex-wrap:wrap;justify-content:flex-start}.site .site-nav a{padding:5px 0;margin-right:8px}.site .page{padding-left:4%;padding-right:4%}.home-work-grid{grid-template-columns:1fr;gap:24px}.home-work-grid .work-tile:last-child{grid-column:auto}.home-work-grid .work-tile:last-child .work-tile-image{aspect-ratio:4/3}.site .studies-toolbar{align-items:stretch}.site .index-count{margin-left:0;font-size:9px}.site .study-filters{flex-wrap:wrap;justify-content:flex-start}.site .study-filters button{padding:9px 12px}.site.work-priority .studies-intro h1{font-size:12.5vw}.site .studies-intro-note{padding-left:0}.site .screen-ledger h1{font-size:48px}.site .identity-word h1{font-size:clamp(60px,20vw,95px)}.site .mixed-intro h1{font-size:clamp(50px,13vw,80px)}.site .mixed-intro{padding:25px}.article-body p,.article-body li,.article-body blockquote{font-size:12px;line-height:1.8}.article-media img{padding:10px}.project-article{padding-top:30px;margin-top:30px}.site .folio-footer{flex-wrap:wrap;gap:18px}.site .case-name{overflow-wrap:anywhere}.site .tool-heading h1{font-size:48px}.home-page .hero .visual .caption{left:20px;right:20px}.site .screen-notes.notes-below .screen-ledger{display:flex}}
.about-page .about-row h1{font-size:clamp(54px,6vw,92px);line-height:.96}

/* Keep video controls clear of the title and decorative image overlays. */
.site.case-study .main-square.case-video-hero{display:flex;flex-direction:column;gap:24px;justify-content:flex-start}
.site.case-study .case-video-hero:after{display:none}
.site.case-study .case-video-hero h1{font-size:clamp(42px,5vw,82px)}
.case-header-video{position:relative;width:100%;aspect-ratio:16/9;min-height:200px;background:#080808}
.case-header-video iframe,.case-header-video video{display:block;width:100%;height:100%;position:absolute;inset:0;border:0}
.site.case-study .main-square.case-video-hero>.caption{position:static;margin-top:auto}

/* Longer authored collection headings retain their two-line composition. */
.site .studies-intro{grid-template-columns:minmax(0,1.618fr) minmax(0,1fr)}
.site .studies-intro>div{min-width:0}
.site.tools-page .studies-intro>div:first-child{align-self:start}
.site .studies-intro h1{font-size:clamp(40px,7vw,110px)}
@media(max-width:640px){.site .studies-intro{grid-template-columns:minmax(0,1fr)}.site .studies-intro h1,.site.tools-page .studies-intro h1{font-size:13.5vw}.site.work-priority .studies-intro h1{font-size:12.5vw}}
@media(max-width:640px){.site.case-study .hero h1{font-size:clamp(46px,12vw,76px)!important}}

/* Imported media and provider players */
.provider-video { display:block; width:100%; aspect-ratio:16/9; border:0; }
.project-player .provider-video { height:100%; min-height:240px; }
.media-empty { min-height:160px; background:var(--panel,#1c1c1a); }
.article-download { color:var(--orange,#ff4b19); }
.tool-requirements { margin:2rem 0; }
.tool-icon .tool-notion-icon{display:block;width:54px;height:54px;object-fit:contain}.tool-emoji{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;font-size:38px;line-height:1}

/* Let the imported artwork stand on its own, without boxed icon treatments. */
.site .tool-icon{border:0;background:transparent;color:var(--accent)}
.site .tool-row{grid-template-columns:40px 88px minmax(0,1fr) 160px 24px;min-height:124px}
.site .tool-row .tool-icon{width:88px;height:88px}
.site .tool-row .tool-icon img,.site .tool-row .tool-icon svg,.site .tool-row .tool-emoji{width:84px;height:84px;object-fit:contain}
.site .tool-row .tool-emoji{font-size:62px}
.site .tool-heading-top .tool-icon{width:clamp(140px,14vw,220px);height:clamp(140px,14vw,220px);background:transparent;border:0;color:var(--accent)}
.site .tool-heading-top .tool-icon img,.site .tool-heading-top .tool-icon svg,.site .tool-heading-top .tool-emoji{width:100%;height:100%;object-fit:contain}
.site .tool-heading-top .tool-emoji{font-size:clamp(110px,11vw,170px)}
@media(max-width:900px){.site .tool-row{grid-template-columns:26px 76px minmax(0,1fr) 125px 20px;gap:16px}.site .tool-row .tool-icon{width:76px;height:76px}.site .tool-row .tool-icon img,.site .tool-row .tool-icon svg,.site .tool-row .tool-emoji{width:72px;height:72px}}
@media(max-width:640px){.site .tool-row{grid-template-columns:64px minmax(0,1fr) 20px;min-height:106px;gap:6px 16px}.site .tool-row .tool-icon{width:64px;height:64px}.site .tool-row .tool-icon img,.site .tool-row .tool-icon svg,.site .tool-row .tool-emoji{width:64px;height:64px}.site .tool-row .tool-emoji{font-size:48px}.site .tool-heading-top{gap:20px}.site .tool-heading-top .tool-icon{width:128px;height:128px}.site .tool-heading-top .tool-emoji{font-size:100px}}

/* Work thumbnails use the complete frame, regardless of header/category. */
.site .work-tile .work-tile-image img {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  padding:0;
  mask-image:none;
  -webkit-mask-image:none;
  filter:none;
}

/* Give featured-card titles a readable column instead of a fixed narrow rail. */
.site.work-priority .priority-featured {
  grid-template-columns:minmax(0,1fr) clamp(340px,34%,520px);
}
.site.work-priority .priority-featured .work-tile-image {
  width:100%;
  min-width:0;
  aspect-ratio:auto;
  min-height:clamp(260px,32vw,480px);
  max-height:none;
  align-self:stretch;
}
.site.work-priority .priority-featured .work-tile-info {
  min-width:0;
}
.site.work-priority .priority-featured h2 {
  font-size:calc(clamp(32px,3.2vw,48px) * var(--scale-project,1));
  line-height:1.05;
  overflow-wrap:anywhere;
}
@media(max-width:1000px) {
  .site.work-priority .priority-featured {display:flex;flex-direction:column}
  .site.work-priority .priority-featured .work-tile-image {aspect-ratio:16/9;min-height:0;flex-shrink:0}
  .site.work-priority .priority-featured .work-tile-info {border-left:0;border-top:1px solid var(--line);padding:24px}
}

/* Keep the detail icon beside the title without increasing its top offset. */
.site .tool-heading {
  display:grid;
  grid-template-columns:minmax(0,1fr) clamp(108px,8vw,144px);
  grid-template-rows:auto 1fr auto;
  gap:24px;
}
.site .tool-heading-top{display:contents}
.site .tool-heading-top .eyebrow{grid-column:1;grid-row:1}
.site .tool-heading-top .tool-icon{
  grid-column:2;grid-row:1/3;align-self:start;
  width:clamp(108px,8vw,144px);height:clamp(108px,8vw,144px);
}
.site .tool-heading-top .tool-emoji{font-size:clamp(84px,6vw,112px)}
.site .tool-heading h1{grid-column:1;grid-row:2;align-self:start;margin:0;min-width:0}
.site .tool-heading-bottom{grid-column:1/-1;grid-row:3}
@media(max-width:640px){
  .site .tool-heading{grid-template-columns:minmax(0,1fr) 80px;gap:20px}
  .site .tool-heading-top .tool-icon{width:80px;height:80px;grid-row:1}
  .site .tool-heading-top .tool-emoji{font-size:64px}
  .site .tool-heading h1{grid-column:1/-1}
}

/* List artwork at roughly 80% of the previous size, with matching spacing. */
.site .tool-row{grid-template-columns:40px 72px minmax(0,1fr) 160px 24px;min-height:112px}
.site .tool-row .tool-icon{width:72px;height:72px}
.site .tool-row .tool-icon img,.site .tool-row .tool-icon svg,.site .tool-row .tool-emoji{width:67px;height:67px}
.site .tool-row .tool-emoji{font-size:50px}
@media(max-width:900px){
  .site .tool-row{grid-template-columns:26px 62px minmax(0,1fr) 125px 20px}
  .site .tool-row .tool-icon{width:62px;height:62px}
  .site .tool-row .tool-icon img,.site .tool-row .tool-icon svg,.site .tool-row .tool-emoji{width:58px;height:58px}
}

/* Featured tools keep the ledger; small utilities have a denser selection grid. */
.tools-section{margin-top:48px}
.tools-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:20px}
.tools-section-heading h2{font-size:clamp(26px,3vw,38px);letter-spacing:-.04em}
.tools-section-heading .mono{font-size:10px;color:var(--muted)}
.tool-row-copy{min-width:0}
.tool-summary{margin-top:10px;max-width:none;color:var(--muted);font-size:15px;line-height:1.5;white-space:pre-line}
.tools-bits-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.tool-bit{display:grid;grid-template-columns:40px minmax(0,1fr) 14px;align-items:center;gap:14px;padding:20px 16px;min-height:112px;background:var(--bg)}
.tool-bit:hover{background:var(--panel)}
.tool-bit:focus-visible{outline-offset:-3px}
.tool-bit-copy{min-width:0}
.tool-bit h3{font-size:calc(18px * var(--scale-tool,1));line-height:1.15;letter-spacing:-.025em;overflow-wrap:anywhere}
.tool-bit .tool-row-type{display:block;margin-top:8px;font-size:9px}
.tool-bit .tool-arrow{font-size:18px}
.site .tool-bit .tool-icon,.site .tool-bit .tool-icon img,.site .tool-bit .tool-icon svg,.site .tool-bit .tool-emoji{width:40px;height:40px;object-fit:contain}
.site .tool-bit .tool-emoji{font-size:30px}
@media(max-width:1000px){.tools-bits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
  .tools-section{margin-top:36px}
  .tools-section-heading .mono{display:none}
  .tool-row-copy{grid-column:2}
  .tool-summary{font-size:14px}
  .tool-bit{grid-template-columns:32px minmax(0,1fr);gap:10px;padding:16px 12px;min-height:108px}
  .tool-bit h3{font-size:calc(16px * var(--scale-tool,1))}
  .tool-bit .tool-arrow{display:none}
  .site .tool-bit .tool-icon,.site .tool-bit .tool-icon img,.site .tool-bit .tool-icon svg,.site .tool-bit .tool-emoji{width:32px;height:32px}
}
@media(max-width:380px){.tools-bits-grid{grid-template-columns:1fr}}
@media(max-width:640px){
  .site .tool-row{grid-template-columns:52px minmax(0,1fr) 20px;min-height:96px}
  .site .tool-row .tool-icon{width:52px;height:52px}
  .site .tool-row .tool-icon img,.site .tool-row .tool-icon svg,.site .tool-row .tool-emoji{width:51px;height:51px}
  .site .tool-row .tool-emoji{font-size:38px}
}


/* Identity artwork retains its own logo design rather than site typography. */
.site .identity-image-panel{position:relative;padding:0;min-width:0;overflow:hidden;background:var(--panel);min-height:500px}
.site .identity-image-panel .identity-mark{position:absolute;inset:0;width:100%;max-width:none;height:100%;object-fit:cover;filter:none;padding:0}
.site .identity-word{min-width:0}
.site .identity-word .identity-wordmark-heading{font-size:inherit;margin:0;min-width:0;width:100%;flex:1;display:flex;align-items:center;justify-content:center}
.site .identity-wordmark-heading .identity-accessible-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.site .identity-wordmark-heading .identity-wordmark{display:block;width:100%;max-width:100%;height:auto;max-height:300px;object-fit:contain;filter:none}
.site .identity-wordmark-heading .wordmark-placeholder{font:11px/1.7 var(--mono);color:var(--muted);letter-spacing:0;margin:0}
@media(max-width:640px){.site .identity-image-panel{min-height:0;aspect-ratio:4/3}.site .identity-word{min-height:310px}.site .identity-wordmark-heading .identity-wordmark{max-height:200px}}

/* Mixed side headers use a complete image panel, without the render mask. */
.site .mixed-hero[data-composition="side"] .mixed-visual{overflow:hidden;align-self:stretch}
.site .mixed-hero[data-composition="side"] .mixed-visual .render{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;padding:0;mask-image:none;-webkit-mask-image:none;mix-blend-mode:normal;filter:none}

.recommendations{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.recommendations-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.recommendations-heading h2{font-size:24px}.recommendations-actions{display:flex;align-items:center;gap:12px}.recommendations-actions a{font-size:10px;margin-right:6px}.recommendations-actions button{background:transparent;border:1px solid var(--line);color:var(--ink);padding:5px 11px;font:16px var(--sans);cursor:pointer}.recommendations-actions button:hover{border-color:var(--accent);color:var(--accent)}.recommendations-actions button:disabled{opacity:.3;cursor:default}
.recommendations-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain}.recommendations-track::-webkit-scrollbar{display:none}.recommendation-card{flex:0 0 calc((100% - 48px)/4);min-width:0;display:flex;flex-direction:column;scroll-snap-align:start;border:1px solid var(--line);background:#101010}.recommendation-card:hover{border-color:var(--accent)}.recommendation-visual{aspect-ratio:16/9;position:relative;overflow:hidden;background:#0c0c0c}.recommendation-visual>img{width:100%;height:100%;object-fit:cover;display:block}.recommendation-visual .media-empty{height:100%;min-height:0}.recommendation-icon{display:flex;align-items:center;justify-content:center;height:100%;color:var(--accent)}.recommendation-icon img,.recommendation-icon svg{width:56px;height:56px;object-fit:contain}.recommendation-icon .tool-emoji{font-size:48px}.recommendation-copy{padding:14px 16px;display:flex;flex-direction:column;gap:8px;flex:1}.recommendation-copy .eyebrow{margin:0;font-size:9px}.recommendation-copy h3{font-size:20px;line-height:1.15;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recommendation-copy p{font:11px/1.7 var(--mono);color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.recommendation-copy>.mono{font-size:10px;margin-top:auto}.recommendations-track:focus-visible,.recommendation-card:focus-visible,.recommendations-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
@media(max-width:900px){.recommendation-card{flex-basis:calc((100% - 32px)/3)}}@media(max-width:640px){.recommendations-heading{align-items:start;flex-direction:column;gap:12px}.recommendation-card{flex-basis:72%}.recommendation-copy{padding:12px 14px}.recommendations{margin-top:40px}}
@media(prefers-reduced-motion:reduce){.recommendations-track{scroll-behavior:auto}}

.social-links{display:flex;align-items:center;gap:16px}.social-links a{display:flex;align-items:center;gap:12px;color:var(--muted)}.social-links a:hover{color:var(--accent)}.social-links a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.social-links svg{display:block;width:24px;height:24px;flex-shrink:0}.social-icons a{padding:8px}.social-icons{gap:6px}.social-contact{margin-top:32px;align-items:stretch;flex-direction:column;gap:0}.social-contact a{padding:16px 0;border-bottom:1px solid var(--line);font:13px var(--mono);color:var(--ink)}.social-contact a:first-child{border-top:1px solid var(--line)}.social-arrow{margin-left:auto;color:var(--accent)}.folio-footer .social-icons{flex-shrink:0}@media(max-width:640px){.folio-footer .social-icons{margin-left:auto}}

.footer-top-link{display:flex;justify-content:flex-end;margin-top:32px;padding:12px 0;font:9px/1.5 var(--mono);letter-spacing:.045em;color:var(--muted)}.site .folio-footer{margin-top:0;justify-content:flex-start;align-items:center;gap:32px}.folio-footer .social-icons{margin-left:auto;gap:4px}.folio-footer .social-icons svg{width:19px;height:19px}.folio-footer .social-icons a{padding:7px}.site .folio-footer>.social-icons{flex:0 0 auto}@media(max-width:640px){.site .folio-footer{gap:16px}.site .folio-footer>span{flex-basis:100%}.footer-top-link{margin-top:24px}}

/* Shared eased fades: opacity tapers gently into the clear end of the image. */
:root{
  --fade-overlay-top:linear-gradient(180deg,rgba(0,0,0,.69) 0%,rgba(0,0,0,.54) 10%,rgba(0,0,0,.38) 20%,rgba(0,0,0,.23) 30%,rgba(0,0,0,.11) 40%,rgba(0,0,0,.035) 50%,transparent 62%);
  --fade-overlay-bottom:linear-gradient(0deg,rgba(8,8,8,.74) 0%,rgba(8,8,8,.49) 10%,rgba(8,8,8,.29) 20%,rgba(8,8,8,.14) 30%,rgba(8,8,8,.045) 40%,rgba(8,8,8,.008) 50%,transparent 60%);
  --fade-overlay-side:linear-gradient(90deg,rgba(8,8,8,.21) 0%,rgba(8,8,8,.135) 12%,rgba(8,8,8,.075) 24%,rgba(8,8,8,.033) 36%,rgba(8,8,8,.008) 48%,transparent 60%);
}
/* Leave room for the local-only edit shortcut when the footer is in view. */
.site:has(>.local-edit-link) .folio-footer{padding-bottom:84px}

/* Case-study hero media: fill the panel or float above the grid. */
.case-study .main-square[data-image-mode]{isolation:isolate}
.case-study .main-square[data-image-mode] .render{inset:0;width:100%;height:100%;max-width:none;mask-image:none;mix-blend-mode:normal;transform:scale(var(--case-image-scale,1));transform-origin:center;z-index:0}
.case-study .main-square[data-image-mode="fill"]{overflow:hidden}
.case-study .main-square[data-image-mode="fill"] .render{object-fit:cover}
.case-study .main-square[data-image-mode="fill"]:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:var(--fade-overlay-top),var(--fade-overlay-bottom)}
.case-study .main-square[data-image-mode="float"]{overflow:visible}
.case-study .main-square[data-image-mode="float"] .render{object-fit:contain;z-index:1}
.case-study .main-square[data-image-mode]>.eyebrow,.case-study .main-square[data-image-mode]>h1,.case-study .main-square[data-image-mode]>.caption{position:relative;z-index:3}
.case-study .main-square[data-image-mode]>.caption{position:absolute}
.case-study .main-square[data-image-mode="fill"]>.eyebrow{color:#dddcd5}
.case-study .recursive{position:relative;z-index:2}
.site.case-study .recursive>.cell .copy{max-width:none}
.site .tool-overview h2,.site .tool-overview>.copy,.site .tool-overview .copy{white-space:pre-line}

@media(min-width:641px){
  .site .folio-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .site .folio-footer>a{justify-self:center}
  .site .folio-footer>.social-icons{justify-self:end}
}

/* A compact masthead and a deliberate, full-width mobile navigation panel. */
@media(max-width:700px){
  .site .site-header{margin:0 4%;min-height:84px;padding:17px 0;gap:0;justify-content:space-between}
  .site .brand-logo{width:145px}
  .site .nav-ready .nav-toggle{display:inline-flex;align-items:center;justify-content:flex-end;gap:12px;min-width:88px;min-height:44px;padding:10px 0 10px 12px;border:0;background:transparent;color:var(--ink);font:10px/1 var(--mono);letter-spacing:.09em;cursor:pointer}
  .nav-toggle-mark{position:relative;display:block;width:22px;height:14px}
  .nav-toggle-mark::before,.nav-toggle-mark::after{content:'';position:absolute;left:0;width:22px;height:1px;background:currentColor;top:3px}
  .nav-toggle-mark::after{top:10px}
  .nav-open .nav-toggle{color:var(--accent)}
  .nav-open .nav-toggle-mark::before{top:7px;transform:rotate(45deg)}
  .nav-open .nav-toggle-mark::after{top:7px;transform:rotate(-45deg)}
  .site .nav-ready .site-nav{display:none}
  .site .nav-ready.nav-open .site-nav{display:flex}
  .site .site-header .site-nav{flex-direction:column;flex-wrap:nowrap;align-items:stretch;width:100%;margin:17px 0 0;padding:10px 0 0;gap:0;border-top:1px solid var(--line)}
  .site .site-header .site-nav a{display:flex;align-items:center;justify-content:space-between;min-height:55px;margin:0;padding:13px 2px;border-bottom:1px solid var(--line);font:500 21px/1.3 var(--sans);letter-spacing:-.025em}
  .site .site-header .site-nav a:last-child{border-bottom:0}
  .site .site-header .site-nav a::after{content:'↗';font:18px/1 var(--sans);color:var(--muted)}
  .site .site-header .site-nav a[aria-current="page"]::after{content:'●';font-size:7px;color:var(--accent)}
}
