/* Large editorial index, pointer previews and contextual invitation. */
.catalog-index{padding:39svh var(--gutter) 90px;background:#fff}
.catalog-heading{display:flex;justify-content:space-between;align-items:baseline;gap:35px;margin-bottom:62px}
.catalog-heading h1,.filter-toggle,.catalog-filter-options button{font-size:clamp(46px,5.4vw,108px);font-weight:550;line-height:1.03;letter-spacing:-.025em}
.catalog-heading h1{max-width:75%}.catalog-heading sup,.catalog-filter-options sup{font-size:.43em;vertical-align:top;display:inline-block;margin:.08em 0 0 .18em;letter-spacing:-.04em}
.filter-toggle{color:#aeb5b0;white-space:nowrap;transition:color .3s}.filter-toggle:hover,.filter-toggle:focus-visible{color:#111}.filter-toggle span{display:inline-block;margin-left:.12em}
.catalog-filter-panel{overflow:hidden}.catalog-filter-options{max-width:92%;padding:10px 0 20px;display:flex;flex-wrap:wrap;gap:8px 26px}.catalog-filter-options button{color:#aeb5b0;text-align:left;transition:color .3s}.catalog-filter-options button:not(:first-child)::before{content:'/ ';color:#c4c9c5}.catalog-filter-options button:hover,.catalog-filter-options button[aria-pressed=true]{color:#111}.filter-context{font-size:13px;color:#737874;padding:30px 0 50px}
.catalog-result{font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:0 0 20px;color:#69726b}
.catalog-grid[data-view-mode=grid]{grid-template-columns:repeat(6,minmax(0,1fr));gap:95px 18px}.catalog-grid[data-view-mode=grid] .project-card{grid-column:span 3;padding:0}.catalog-grid[data-view-mode=grid] .project-card[data-size=small]{grid-column:span 2}.catalog-grid .project-image .editorial-image{height:48vw;max-height:760px;min-height:320px}.catalog-grid .project-card[data-size=small] .project-image .editorial-image{height:34vw;max-height:540px}.catalog-grid .project-description{grid-template-columns:1fr auto;font-size:12px}.catalog-grid .project-description h2{font-size:clamp(23px,2vw,36px);font-weight:550;grid-column:1/-1;margin-bottom:7px}.catalog-grid .project-description span:nth-child(2){text-align:left}.catalog-grid .project-description span:last-child{grid-column:1/-1;text-align:left;color:#737874}
.catalog-grid[data-view-mode=list] .project-card{padding:32px 0;transition:background .3s,color .3s}.catalog-grid[data-view-mode=list] .project-card:hover{background:#244945;color:white}.catalog-grid[data-view-mode=list] .project-description{grid-template-columns:2fr 1fr 1fr 100px;gap:20px}.catalog-grid[data-view-mode=list] .project-description h2{grid-column:auto;margin:0;font-size:clamp(28px,3.5vw,64px)}.catalog-grid[data-view-mode=list] .project-description span:last-child{grid-column:auto}.catalog-grid[data-view-mode=list] .project-card:hover span{color:inherit}
.project-grid.catalog-grid[data-view-mode=grid] .project-card:nth-child(even){padding:0}
.catalog-end{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-top:60px}.catalog-end .index-note{margin:0;max-width:450px}.catalog-end .text-link{font-size:28px;letter-spacing:-.04em}
.catalog-view-switch{position:fixed;z-index:30;bottom:27px;left:50%;transform:translateX(-50%);display:flex;gap:16px;background:#111;color:#fff;border-radius:4px;padding:14px 18px;margin:0;box-shadow:0 4px 20px #0001;transition:opacity .25s}.catalog-view-switch button{font-size:15px;color:#868c87;white-space:nowrap}.catalog-view-switch button[aria-pressed=true]{color:#fff}.catalog-view-switch.is-hidden{opacity:0;pointer-events:none;visibility:hidden}.catalog-view-switch span{margin:0 6px 0 0}
.floating-preview{position:fixed;z-index:44;width:clamp(190px,18vw,300px);pointer-events:none;opacity:0;visibility:hidden;transform:translateY(18px) scale(.96);transition:opacity .25s,transform .4s cubic-bezier(.16,1,.3,1),visibility .25s;background:#d1d6d1;color:#111;padding:12px;box-shadow:0 15px 45px #0003}.floating-preview.is-visible{opacity:1;visibility:visible;transform:none}.floating-preview img{width:100%;height:160px;object-fit:cover;display:block}.floating-preview span{display:block;font-size:10px;letter-spacing:.01em;padding-top:11px}
.build-sticky{position:fixed;z-index:35;left:50%;bottom:27px;transform:translateX(-50%);display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:4px;background:#101010;color:#fff;font-size:15px;box-shadow:0 3px 24px #0002;transition:background .3s}.build-sticky:hover{background:#244945}.build-sticky img{filter:invert(1)}.build-sticky[hidden]{display:none}
.kinetic-line{overflow:hidden;background:#fff;color:#111;padding:110px 0 125px}.kinetic-track{display:flex;width:max-content;gap:4vw;white-space:nowrap;font-size:clamp(70px,11vw,210px);font-weight:550;letter-spacing:-.025em;line-height:1.05;will-change:transform}.kinetic-track span:nth-child(even){color:#b2bbb4}.kinetic-line>p{margin:32px var(--gutter) 0;font-size:12px}
@media(max-width:760px){.catalog-index{padding-top:190px;padding-bottom:60px}.catalog-heading{gap:20px;margin-bottom:35px;align-items:start}.catalog-heading h1{font-size:clamp(35px,9.5vw,65px);max-width:65%}.filter-toggle{font-size:27px;margin-top:5px}.catalog-filter-options{gap:13px 15px;max-width:100%}.catalog-filter-options button{font-size:clamp(35px,9vw,50px)}.filter-context{padding:18px 0 30px;font-size:12px}.catalog-grid[data-view-mode=grid]{grid-template-columns:1fr;gap:50px}.catalog-grid[data-view-mode=grid] .project-card,.catalog-grid[data-view-mode=grid] .project-card[data-size=small]{grid-column:auto;padding:0}.catalog-grid .project-image .editorial-image,.catalog-grid .project-card[data-size=small] .project-image .editorial-image{height:65svh;min-height:350px;max-height:620px}.catalog-grid .project-description{font-size:11px}.catalog-grid[data-view-mode=list] .project-description{grid-template-columns:1fr auto;gap:10px}.catalog-grid[data-view-mode=list] .project-description h2{font-size:29px;grid-column:1/-1}.catalog-grid[data-view-mode=list] .project-description span:nth-child(3){text-align:right}.catalog-grid[data-view-mode=list] .project-description span:last-child{text-align:left;grid-column:1/-1}.catalog-end{display:block;margin-top:40px}.catalog-end .text-link{display:inline-block;margin-top:25px;font-size:25px}.catalog-view-switch,.build-sticky{bottom:18px;font-size:13px;padding:13px 16px}.catalog-view-switch button{font-size:13px}.kinetic-line{padding:70px 0}.kinetic-track{font-size:76px}.floating-preview{display:none}}
[data-motion=off] .floating-preview{transition:none}[data-motion=off] .kinetic-track{will-change:auto;transform:none!important}
/* V08: stable document scroll scenes and generous type masks. */
.vision{padding:0;overflow:clip;min-height:0}
.vision-stage{position:relative;isolation:isolate;min-height:100svh;padding:24svh var(--gutter) 65px;overflow:clip}
.vision.is-scroll-scene{height:320svh}
.vision.is-scroll-scene .vision-stage{position:sticky;top:0;height:100svh}
.vision-tabs{padding:.16em 38vw .3em;gap:7vw;scroll-snap-type:none;margin-left:calc(-1 * var(--gutter))}
.vision-tabs button{line-height:1.15;letter-spacing:-.025em;padding:0 .08em}
.vision-rule{margin:4svh 0 7svh}
.vision-panels{min-height:0}
.vision-discover{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);margin:0}
.floating-preview{background:none;padding:0;box-shadow:none}
.floating-preview img{height:auto;aspect-ratio:4/3}
.floating-preview span{display:none}
.team-portrait{display:block;opacity:1;transform:none;transition:none}
/* Explicit paint order avoids negative layers disappearing behind section backgrounds. */
.vision-backgrounds{z-index:0;pointer-events:none}
.vision-shade{z-index:1;pointer-events:none}
.vision-tabs,.vision-rule,.vision-panels{position:relative;z-index:2}
.vision-stage>.vision-discover{position:absolute;z-index:2}
.values-photo{z-index:0;pointer-events:none}
.studio-values::after{z-index:1;pointer-events:none}
.values-content,.values-credit{position:relative;z-index:2}
.values-content{padding-bottom:115px}
.values-credit{position:absolute}
.tekop-editorial .values-content h2{line-height:1.08}
.word-mask{padding:.12em .025em .18em;margin:-.12em 0 -.18em}
.word-reveal{will-change:auto}
.floating-preview{transition:opacity .15s,visibility .15s;transform:none;contain:layout paint;overflow:hidden}
.floating-preview.is-visible{transform:none}
.footer-credit a{text-underline-offset:4px}
.footer-credit a:hover{text-decoration:underline}
.site-header[data-tone=light][data-scrolled=true]{background:#ffffffed}
@media(min-width:761px) and (min-height:760px){
 .method-sequence.is-scroll-scene{height:440svh;padding-bottom:0;overflow:clip}
 .method-sequence.is-scroll-scene .method-rows{position:sticky;top:100px}
 .is-scroll-scene .method-row>summary{padding:16px 0}
 .tekop-editorial .is-scroll-scene .method-row h3{font-size:clamp(38px,3.7vw,62px);line-height:1.12}
 .is-scroll-scene .method-panel-inner{height:calc(100svh - 450px);min-height:230px;padding:5px 0 35px 9.5%;gap:5vw;align-items:center}
 .is-scroll-scene .method-photo{height:100%;min-height:0;max-height:none;margin-bottom:0}
 .is-scroll-scene .method-copy{padding-top:0}
 .tekop-editorial .is-scroll-scene .method-copy h4{font-size:clamp(28px,2.7vw,44px);margin-bottom:16px}
 .is-scroll-scene .method-copy>span{margin-top:20px}
}
@media(max-width:760px){
 .vision-stage{padding-top:150px;padding-bottom:130px;min-height:90svh}
 .vision-tabs{padding-left:30vw;padding-right:30vw;gap:22px}
 .vision-tabs button{font-size:30px}
 .vision-panels{margin-left:12%;min-height:220px}
 .vision-panels p{font-size:21px;line-height:1.25}
 .vision-discover{bottom:35px}
 .team-portrait{display:block;opacity:1;transform:none}
}

/* V10: stable hit targets, one route reveal, progressive editorial reading. */
html{scrollbar-gutter:stable}
.motion-pending [data-reveal]:not([data-text-scrub]){visibility:hidden}
.motion-pending .catalog-heading{visibility:hidden}
.motion-pending [data-text-scrub]{opacity:.24}
.motion-pending .home-hero .hero-media{clip-path:inset(18% 24% 18% 24%)}
.motion-pending .home-hero .reveal-line{transform:translateY(115%)}
a[href],button,summary{cursor:pointer}
.floating-preview,.floating-preview *{pointer-events:none!important}
.floating-preview{left:0;top:0;will-change:transform}
.project-card .project-image,.project-card .project-description{pointer-events:none}
.desktop-nav,.header-contact,.menu-toggle{font-weight:650;letter-spacing:-.015em}
.desktop-nav{font-size:clamp(15px,1.05vw,20px);gap:12px}
.desktop-nav a{opacity:.82}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{opacity:1}
.header-contact{font-size:15px}
[data-text-scrub] .e-soft{color:inherit}
.tekop-editorial .values-content h2{font-size:clamp(58px,7.1vw,136px);max-width:1500px;line-height:1.12}
.values-phrase+.values-phrase{margin-top:.16em}
[data-text-scrub] .word-mask{overflow:hidden}
@media(max-width:760px){.header-contact,.menu-toggle{font-size:13px}.tekop-editorial .values-content h2{font-size:clamp(44px,10vw,76px)}}
